我有一个这样的字符串:
++ ST/-- OP/22 SomeString/21 AnotherString/-- CL/++ ED
“++ ST”和“++ ED”是开 - 关文件标记,
“ - OP”和“ - CL”是开放式关闭的信息,
“/” - 是一种分隔符,
“22”和“21”是变量串的标识。
所以我需要以某种方式使用正则表达式提取标识为22和21的变量(在该示例中为“SomeString”和“AnotherString”)。 甚至可以用这样的字符串这样做吗?
答案 0 :(得分:1)
至少在那个例子中,你不需要正则表达式。
如果你知道可能的分隔符,并且有问题的变量总是在它们之间有分隔符并用空格分隔(如你的例子),string.Split
就可以了。
string.Split
有一个重载,它会将一个字符串列表拆分为可以使用的。
var separators = new string[] {"++ ST", "++ ED", "-- OP", "-- CL", "/", " "};
var res = "++ ST/-- OP/22 SomeString/21 AnotherString/-- CL/++ ED"
.Split(separators, StringSplitOptions.RemoveEmptyEntries);
res[0] == "22"; // true
res[1] == "SomeString"; // true
res[2] == "21"; // true
res[3] == "AnotherString"; // true
答案 1 :(得分:0)
我认为你应该使用带有'/'字符的String.Split() (如果我知道你在一个变量中拥有所有的行)