如何利用c#.net中的单词大写

时间:2013-05-13 19:45:48

标签: c# regex .net-4.5

我正在尝试用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"

4 个答案:

答案 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))