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