首页 新闻 会员 周边 捐助

字符截取 asp.net

0
[已解决问题] 解决于 2011-03-04 17:27

我有这么一段字符串: 

Data Source=.;Initial Catalog=test;User ID=sa;Password=123;

怎么将Data Source=

user ID=

Password=

这几个值取到


[小伍]的主页 [小伍] | 初学一级 | 园豆:60
提问于:2011-03-01 12:04
< >
分享
最佳答案
0

给写发个函数。

/// <summary>
/// 获取连接字符串某项的值
/// </summary>
/// <param name="connStr">连接字符串</param>
/// <param name="itemName">项目</param>
/// <returns>项目值</returns>
public static string GetItemValueFromConnStr(string connStr, string itemName)
{
    if (!connStr.EndsWith(";"))
        connStr = ";";

    // \s* 匹配0个或多个空白字符
    // .*? 匹配0个或多个除 "\n" 之外的任何字符(?指尽可能少重复)
    string regexStr = itemName @"\s*=\s*(?<key>.*?);";
    Regex r = new Regex(regexStr, RegexOptions.IgnoreCase);
    Match mc = r.Match(connStr);
    return mc.Groups["key"].Value;
}

调用方法:GetItemValueFromConnStr(connStr, "Source")

StrHelper.GetItemValueFromConnStr(connStr, "Password")..

Astar | 高人七级 |园豆:40805 | 2011-03-01 13:05
string regexStr = itemName @"\s*=\s*(?.*?);";
这个?????
[小伍] | 园豆:60 (初学一级) | 2011-03-01 13:36
string regexStr = itemName @"\s*=\s*(?.*?);";漏了个 号
[小伍] | 园豆:60 (初学一级) | 2011-03-04 17:26
其他回答(2)
0

先通过;分割字符,再用=分割得到的字符串数组.

I,Robot | 园豆:9783 (大侠五级) | 2011-03-01 12:24
0

先split一下,然后找等号后面的东西。

顾晓北 | 园豆:10898 (专家六级) | 2011-03-01 14:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册