C#字符串转句子

标签 c# string

有没有办法将没有空格的字符串转换为正确的句子? 例如。 “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/

相关文章:

c# - 如何允许用户进行更多尝试,而不是在捕获格式异常后重新启动游戏?

c# - LINQ to SQL 插入行为中的非生成属性

string - 打印可以由两个字符串组成的字符串

python - 在忽略 NaN 的同时连接 pandas DataFrame 中的列值

php - == 字符串运算符

c - C中如何优雅地遍历一个字符串到最后

javascript - 在 JavaScript 中使用字符串/数组字符串作为变量名?

c# - 匿名函数和局部变量

c# - 让 WPF 控件触发和设置另一个控件的 itemssource

c# - 使用 .net 或 C# 为 iOS 发送通知