C# 在C中使用正则表达式分割字符串#
我有这样一个字符串:C# 在C中使用正则表达式分割字符串#,c#,string,string-parsing,C#,String,String Parsing,我有这样一个字符串: "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" 正如您所看到的,字符串由人的姓名和他们的股份组成。可以有任意数量的人(和共享),人的名字可以由任意数量的单词组成 如何将此字符串拆分为三个字符串,如下所示: "John
"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"
正如您所看到的,字符串由人的姓名和他们的股份组成。可以有任意数量的人(和共享),人的名字可以由任意数量的单词组成
如何将此字符串拆分为三个字符串,如下所示:
"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"
我知道我需要使用正则表达式,但我自己做不到。感谢您的帮助。谢谢。([a-zA-Z]*)*[0-9]*\/[0-9]*
首先查找带有空格的名称,然后重复这些内容
您继续使用数字、斜杠和其他数字
注意空格。我知道这不是一个很难解决的问题,而且注释中已经有一些答案,我仍然希望粘贴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();
}
您是否为共享固定了3/4位数?1000这个词是固定的还是不同的?@Darshak不,它不是固定的,可以是任意数量的digits@shree.pat18它可以不同。
([\w\s]*\d*\s\/\s\d*)
示例中是否需要@
符号?谢谢