C# 带C的正则表达式#

C# 带C的正则表达式#,c#,regex,C#,Regex,如何使用正则表达式拆分此字符串 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=\”

进入如下列表:

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);
}
String s=“[TEST name1=\”smith ben\”name2=\”TEST\”abcd=\”TEST=\”mmmm=\”TEST=\”;
SortedList=新的SortedList();
//删除开始和结束标记
s=s.Remove(0,s.IndexOf(“”));
s=s.Remove(s.LastIndexOf(“\”)+1);
//拆线
string[]pairs=s.Split(新字符[]{'\“},StringSplitOptions.None);
//将每对添加到列表中
对于(int i=0;i+1
“问题是我们不能使用simple=\”来拆分此字符串。”-为什么不?请查看以下URL,因为我想将拆分字符串添加到分类列表中,例如list.add(“name1”,“smith ben”);list.add(“name2”,“Test”);list.add(“abcd”,“Test=”);list.add(“mmmm”,“Test=”);对于最后一个元素,应为Test=而不是Test