我正在尝试使用 c# 将单词大写
Regex.Replace(source,"\b.",m=>m.Value.ToUpper())
它不起作用。
我想用 c# 做到这一点:
"this is an example string".replace(/\b./g,function(a){ return a.toLocaleUpperCase()});
输出字符串:"This Is An Example String"
如果你的意思是每个单词的第一个字母,试试这个:ToTitleCase
http://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase.aspx
string s = "this is an example string";
TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
string uppercase = ti.ToTitleCase(s);
问题是您需要转义搜索词,因为它涉及“\”字符。使用@"\b."
或"\\b."
作为您的搜索词。
你为什么不简单地试试这个
string upperString = mystring.ToUpper();
如果你想每个单词的第一个字母大写,那么你可以试试这个。
CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
string capitalString=textInfo.ToTitleCase(myString));
您还可以通过聚合将每个单词大写。
"this is an example string"
.Split(' ')
.Aggregate("", (acc, word) => acc + " " + char.ToUpper(word[0]) + word.Substring(1))