我有一个这样的字符串:
"John William Doe 250 / 1000 Adam Smith 500 / 1000 Jane Black 250 / 1000"
如您所见,字符串由人名和共享组成。可以有任意数量的人(和股票),人们的姓名可以包含任意数量的单词。
如何将此字符串分成三个字符串,如下所示:
"John William Doe 250 / 1000"
"Adam Smith 500 / 1000"
"Jane Black 250 / 1000"
我知道我需要使用正则表达式但我不能自己做。任何帮助表示赞赏。感谢。
答案 0 :(得分:2)
([a-zA-Z ]*)*[0-9]* \/ [0-9]*
首先查找带空格的名称,然后重复这些。
您继续使用数字,斜线和其他数字
注意空格。
答案 1 :(得分:2)
我知道这不是那么难的问题,并且评论中已经有了一些答案,我仍然希望为OP粘贴代码:
static void Main(string[] args)
{
string all = @"John William Doe 250 / 1000 Adam Smith 500 / 1000 Jane Black 250 / 1000";
Regex r = new Regex(@"(?:\w+\s+)+\d+\s+/\s+\d+");
foreach (Match m in r.Matches(all))
{
Console.WriteLine(m.Groups[0]);
}
Console.ReadLine();
}