拆分字符串和数字

时间:2014-02-14 11:52:16

标签: c# string

我正在尝试在" "109491: Navy/Red115138: Navy/Light Grey"Colour Code中拆分此字符串colour name。数字是颜色代码,包含\的字符串是颜色名称。我已经尝试过这个正则表达式"(?<Alpha>[a-zA-Z]*)(?<Numeric>[0-9]*)",但它没有按预期工作。有时它会在Colour Code中返回空白。

由于

2 个答案:

答案 0 :(得分:1)

只需使用:

(\d+[^\d]+)

这是“选择数字......然后是其他任何不是数字的”。所以它匹配如下:

109491: Navy/Red115138: Navy/Light Grey
|______________||______________________|

E.g:

var str = "109491: Navy/Red115138: Navy/Light Grey";
var matches = new List<string>();

foreach (Match match in Regex.Matches(str, @"(\d+[^\d]+)")) {
    matches.Add(match.Value);
}

// matches[0] = 109491: Navy/Red
// matches[1] = 115138: Navy/Light Grey

答案 1 :(得分:1)

尝试这样的事情:

(?:(\d+):\s([^\d]+))+?

这会将数字和文本捕获为单独的捕获。

例如:

enter image description here