2013-11-26 164 views
0

我不是正则表达式的专家,但我认为这可以用正则表达式来完成。我想做的事是,我有这个短语正则表达式第一个单词的大写字母

我想CONVERT这句话

,我想转换为

我想转换这句话

每个单词的第一个字符都是大写字母。 我怎样才能做到这一点在正则表达式?

是在C#语言

+1

正则表达式本身不能用于以这种方式操作字符串。你使用什么语言/平台? –

+0

您需要盲目搜索并替换'\ b(\ w)(\ w *)\ b',替换为'toupper(grp1)+ tolower(grp2)'或类似的东西。什么语言? – sln

+0

语言是c# – Luis

回答

4

首先,转换整个字符串转换为小写:

var input = "I WANNA CONVERT THIS PHRASE"; 
input = input.ToLower(); 

然后你就可以使用正则表达式和lambda函数得到办成事情:

var result = Regex.Replace(input, @"\b\w", m => m.Value.ToUpper()); 
Console.WriteLine(result); 

正则表达式\b\w与某个不是单词字符的单词字符匹配,该单词字符应该表示单词的开始 一般。

相关问题