繁体   English   中英

使用C#的RegularExpressions

[英]RegularExpressions with C#

如何使用正则表达式拆分此字符串

String s = "[TEST name1=\\"smith ben\\" name2=\\"Test\\" abcd=\\"Test=\\" mmmm=\\"Test=\\"]";

进入如下列表:

name1 smith ben
name2 Test
abcd Test=
mmmm Test=`

它类似于从元素获取属性但不完全。

首先要做的是从字符串中删除括号和“TEST”部分,这样您就可以使用键和值。 然后你可以将它(基于'\\“')拆分成一个数组,其中奇数条目将是键,偶数条目将是值。之后,填充列表很容易:

String s = "[TEST name1=\"smith ben\" name2=\"Test\" abcd=\"Test=\" mmmm=\"Test=\"]";

SortedList<string, string> list = new SortedList<string, string>();

//Remove the start and end tags
s = s.Remove(0, s.IndexOf(' '));
s = s.Remove(s.LastIndexOf('\"') + 1);

//Split the string
string[] pairs = s.Split(new char[] { '\"' }, StringSplitOptions.None);

//Add each pair to the list
for (int i = 0; i+1 < pairs.Length; i += 2)
{
   string left = pairs[i].TrimEnd('=', ' ');
   string right = pairs[i+1].Trim('\"');
   list.Add(left, right);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM