开发者

string manipulation in regex

开发者 https://www.devze.com 2023-02-22 11:28 出处:网络
i have a problem in string manipulation 开发者_开发技巧 here is the code string str = \"LDAP://company.com/OU=MyOU1 Control,DC=MyCompany,DC=com\";

i have a problem in string manipulation 开发者_开发技巧

here is the code

string str = "LDAP://company.com/OU=MyOU1 Control,DC=MyCompany,DC=com";
Regex regex = new Regex("OU=\\w+");
var result = regex.Matches(str);
var strList = new List<string>();
foreach (var item in result)
{
    strList.Add(item.ToString().Remove(0,3));
 }
 Console.WriteLine(string.Join("/",strList));

the result i am getting is "MyOU1" instead of getting "MyOU1 Control"

please help thanks


If you want the space character to be matched as well, you need to include it in your regex. \w only matches word charactes, which does not include spaces.

Regex regex = new Regex(@"OU=[\w\s]+");

This matches word characters (\w) and whitespace characters (\s).

(The @ in front of the string is just for convenience: If you use it, you don't need to escape backslashes.)


Either add space to the allowed list (\w doesn't allow space) or use the knowledge that comma can be used as a separator.

Regex regex = new Regex("OU=(\\w|\\s)+");

OR

Regex regex = new Regex("OU=[^,]+");
0

精彩评论

暂无评论...
验证码 换一张
取 消