Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用正则表达式分割字符串#_C#_String_String Parsing - Fatal编程技术网

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*)
示例中是否需要
@
符号?谢谢