有没有办法将没有空格的字符串转换为正确的句子? 例如。 “WhoAmI”需要转换为“Who Am I”
最佳答案
如果您只是谈论在每个大写字母前插入一个空格,则正则表达式替换可以做到这一点:
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);
}
}
但是,我怀疑会有重大的极端情况。请注意,上面使用 \p{Lu}
而不仅仅是 [A-Z]
来处理非 ASCII 大写字母;如果您只需要处理 ASCII,您可能会发现 A-Z
更简单。 TrimStart()
调用是为了删除您将获得的前导空格。
关于C#字符串转句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890946/