C#字符串判刑

cod*_*bie 1 c# string

有没有办法将没有空格的字符串转换为正确的句子?例如,"WhoAmI"需要转换为"我是谁"

Jon*_*eet 8

如果您只是在每个大写字母前插入一个空格,那么正则表达式替换会执行此操作:

using System;
using System.Text.RegularExpressions;

class Test
{
    static void Main()
    {
        var input = "WhoAmI";
        var output = Regex.Replace(input, @"\p{Lu}", " $0").TrimStart();
        Console.WriteLine(output);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我怀疑会有重大案件.请注意,上述用法\p{Lu}不仅仅是[A-Z]为了处理非ASCII大写字母; A-Z如果你只需要处理ASCII,你可能会觉得更简单.该TrimStart()呼叫删除前导空间,你会得到其他.