如何在C#regex中只包含一个分隔符?

如何在C#regex中只包含一个分隔符?,c#,.net,regex,C#,.net,Regex,我试图正则化一个字符串,看起来像这样: "x.i.x.m x.i.x.m.ng(ing)" 变成这样的数组 ["X", "I", "X", "M", " ", "X", "I", "X", "M", "NG(ING") 我已经设法将空间包含到数组中,但还不能将其余空间以“.”分隔。提前谢谢 应用此正则表达式: \.|( +) 说明: \。按点分割 |或 (+)被一个或多个空格分割,但是,如果我们将其标记为捕获组,则正则表达式分割也会将其包含到数组中。于是就有了俘虏小组() 你可以试试这个

我试图正则化一个字符串,看起来像这样:

"x.i.x.m x.i.x.m.ng(ing)"
变成这样的数组

["X", "I", "X", "M", " ", "X", "I", "X", "M", "NG(ING")
我已经设法将空间包含到数组中,但还不能将其余空间以“.”分隔。提前谢谢

应用此正则表达式:

\.|( +)
说明:

  • \。
    按点分割
  • |
  • (+)
    被一个或多个空格分割,但是,如果我们将其标记为捕获组,则正则表达式分割也会将其包含到数组中。于是就有了俘虏小组()
  • 你可以试试这个:()


    你能分享你到目前为止试过的正则表达式吗?此外,字符串似乎没有空格,但数组应该包含空格元素?这里的规则是什么?这还不清楚。是否要将所有字符替换为
    X
    ,直到达到一个空格,然后将其余字符大写,除非字符是句点,在这种情况下忽略它?@Rizwan M.Tuman您的编辑更改了OP的预期输出。你怎么知道这是对的?我只是想帮他打字。。。看,他提到要分开。因此,我认为这是合乎逻辑的。。我认为这是一个打字错误。。但是如果你认为我错了,我可以改变。我不认为你错了。如果不是打字错误的话,那就改变答案了。非常感谢!最后我使用了@“\.\124;(\ s)”,它完全符合我的要求。我试图找到类似于|很高兴知道它对您有效,但请注意\s不仅意味着空格,还意味着换行符、制表符和回车。。如果不希望按空格以外的空格进行分割,则不应使用\s和+确保,如果存在连续空格,则该空格将作为单个单位暗显。。。但这取决于您的业务逻辑,我也希望按这些逻辑划分,这就是为什么我将其更改为使用\s。基本上跳过所有空白,并将其添加到最后一个字符串中,而不进行任何操作,但对其余字符进行操作。
    string sentence = @"x.i.x.m x.i.x.m.ng(ing)";
    string[] segs= Regex.Split(sentence, @"\.|( +)");
    foreach (string value in segs)
    {
            Console.WriteLine(value.ToUpper());
    }