如何根据正则表达式拆分字符串?

时间:2012-02-02 03:53:09

标签: c# .net regex

嗨&谢谢你的期待!

在C#中,我有一个字符串进入一个由这样的模式分隔的方法:

some text ;#1;# some more text ;#2;# even more text

我想根据这些模式(;#1;#)拆分弹簧。

是否可以根据多个字符进行拆分?如果是这样,我将如何处理分隔符中间的数字?

注意:在某些情况下,分隔符中可能会有双倍甚至是三位数。例如,;#10;#;#123;#

任何帮助都会非常感激!

谢谢!

2 个答案:

答案 0 :(得分:3)

这可能是一个错误的正则表达式,但这就是你如何做到的。

string input = "some text ;#1;# some more text ;#2;# even more text";
string pattern = ";#[0-9]+;#";            // Split by pattern
string[] substrings = Regex.Split(input, pattern);

http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx

答案 1 :(得分:2)

您可以使用Regex.Split(string s, string pattern)方法。您需要的模式是";#[0-9]+;#"

string[] parts = Regex.Split(
    "some text ;#1;# some more text ;#2;# even more text"
,   ";#[0-9]+;#"
);