android 分号怎么转义字符串,分割而占转义字符的字符串用分号

博客内容介绍了如何使用DbConnectionStringBuilder类来解析数据库连接字符串,避免手动解析带来的潜在错误。通过示例代码展示了如何遍历连接字符串中的键值对,简化了处理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你可以写一个迷你分析器。在字符串中移动以跟踪引用状态。一般来说可能更可靠。

另一种选择是使用一个正则表达式,而整个内容,它可以在一个regex.Split被捕获,而不是跳过输出相匹配:

var re = new Regex(@"([\w\s]+=\s*?(?:['""][\w\s]+['""]|[\w\s]+));");

var parts = re.Split(connectionString)

这假定:

否引用引号(或其他方式)引号的能力

名称上的内容仅限于空格和字母数字(用覆盖有效字符的组替换[\ s \ w])。

就个人而言,如果我不能很快锻炼正则表达式,我会去解析器。

编辑:有一个更简单的方法。 DbConnectionStringBuilder实现IEnumerable,所以把它做的工作:

using System;

using System.Collections.Generic;

using System.Data.Common;

class Program {

static void Main(string[] args) {

string conStr = @"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=vm-jp-dev2;Data Source='scsql\sql;2005';Auto Translate=False";

var cb = new DbConnectionStringBuilder();

cb.ConnectionString = conStr;

int n = 0;

foreach (KeyValuePair c in cb) {

Console.WriteLine("#{0}: {1}={2}", ++n, c.Key, c.Value);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值