[英]C# string to sentence
有沒有一種方法可以將沒有空格的字符串轉換為合適的句子? 例如,“ WhoAmI”需要轉換為“我是誰”
如果您只是在談論在每個大寫字母之前插入一個空格,則用正則表達式替換可以做到這一點:
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}
而不是[AZ]
來處理非ASCII大寫字母; 如果您只需要處理ASCII,則可能會發現AZ
更簡單。 TrimStart()
調用用於刪除否則將獲得的前導空間。
如果字符串中的每個單詞都以大寫字母開頭,則可以將以大寫字母開頭的每個部分轉換為以空格分隔的字符串。
您可以使用LINQ
string words = "WhoAmI";
string sentence = String.Concat(words.Select(letter => Char.IsUpper(letter) ? " " + letter
: letter.ToString()))
.TrimStart();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.