我正在使用这个表达式:
^ [A-Z] [A-ZA-Z0-9] * $
如果我输入例如“Kristian”,它可以正常工作。但是,当我想继续这句话,比如输入“Kristian正在使用SharePoint”时,它就不起作用了。那里有更好的表达吗?
答案 0 :(得分:2)
这是一个非REGEX解决方案。您可以在字符串的第一个字符上使用char.IsUpper来查看它是否以大写字母开头。
if(textbox.Text.Length > 0 && char.IsUpper(textBox.Text[0]))
{
//starts with upper case
}
或使用Char.IsUpper Method (String, Int32)
if(textbox.Text.Length > 0 && char.IsUpper(textBox.Text,0))
{
//starts with upper case
}
答案 1 :(得分:1)
这很简单:
[A-Z].*
作为参考,^[A-Z][a-zA-Z0-9]*$
确保每个单词的第一个字母大写,并且不匹配可能出现的“每个字符”。
查看http://www.zytrax.com/tech/web/regex.htm以获取更好的参考资料。
答案 2 :(得分:0)
试试这个正则表达式:
“\ B(\ W | [' - ])+ \ B”
您还可以使用其他框架方法:
string capitalized = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase("capitalize this string");