正则表达式捕获大写和小写字母

时间:2012-12-03 17:28:04

标签: c# regex

我正在创建一个简单的C#应用​​程序,其中有条件捕获字母的大写和小写。

这是我的条件:

if( txtChord.Text == "A" || txtChord.Text == "a" && cbKeys.SelectedIndex == 6 ){
                txtAnswer.Text = "B";
            }

我想使用正则表达式更有效地做到这一点。

5 个答案:

答案 0 :(得分:6)

使用String.Compare(String, String, Boolean)方法并向最后一个参数提供true以忽略大小写。

上述方法返回负数,0或正数。

如果您只想要bool值,则可以String.Equals(String, String, StringComparison)选项使用StringComparison.OrdinalIgnoreCase

答案 1 :(得分:3)

忽略案例经常做的事情是这样的事情:

if( txtChord.Text.ToLower() == "a" && cbKeys.SelectedIndex == 6 )

但请注意,在if语句中,两项检查并非“等效”,因为&&的{​​{3}}高于||。你的相当于:

if( txtChord.Text == "A" || (txtChord.Text == "a" && cbKeys.SelectedIndex == 6))

单次检查无法取代。

答案 2 :(得分:1)

您不需要正则表达式来执行此操作。你可以这么简单:

if(txtChord.Text.ToLower() == "a" && cbKeys.SelectedIndex ==6)
{
     txtAnswer.Text = "B";
}

ToLower()会将txtChord文本框中的任何文字设为小写,然后您可以对此进行检查。或者您可以使用ToUpper()。它是一样的,但是大写。

答案 3 :(得分:1)

Regex.Match(txtChord.Text, “一”,RegexOptions.IgnoreCase)

答案 4 :(得分:0)

这里有很多好的信息:http://www.regular-expressions.info/

要捕捉字母的大写或小写,您可以使用'[Aa]'或者也可以使用旗帜。