1

我正在使用这个表达式:

^[AZ][a-zA-Z0-9]*$

如果我输入例如“Kristian”,它就可以正常工作。但是,当我想继续输入“Kristian 正在使用 SharePoint”之类的句子时,它就不起作用了。有没有更好的表达方式?

4

3 回答 3

2

这是一个非 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
}
于 2013-05-03T09:10:46.387 回答
1

它很简单:

[A-Z].*

作为参考,^[A-Z][a-zA-Z0-9]*$确保每个单词的第一个字母大写并且不匹配可能出现的“每个字符”。

查看http://www.zytrax.com/tech/web/regex.htm以获得良好的参考资料。

于 2013-05-03T09:14:12.580 回答
0

试试这个正则表达式:

"\b(\w|['-])+\b"

您还可以使用其他框架方法:

string capitalized = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase("capitalize this string");
于 2013-05-03T09:11:22.520 回答