我正在尝试用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"
答案 0 :(得分:3)
如果你的意思是每个单词的第一个字母,试试这个: 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);
答案 1 :(得分:2)
问题是您需要转义搜索字词,因为它涉及'\'字符。使用@"\b."
或"\\b."
作为搜索字词。
答案 2 :(得分:1)
你为什么不试这个
string upperString = mystring.ToUpper();
如果你想用大写的每个单词的第一个字母,那么你可以尝试这个。
CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
string capitalString=textInfo.ToTitleCase(myString));
答案 3 :(得分:0)
您还可以通过汇总来大写每个单词。
"this is an example string"
.Split(' ')
.Aggregate("", (acc, word) => acc + " " + char.ToUpper(word[0]) + word.Substring(1))