2012-12-03 179 views
4

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

这是我的情况:

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

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

+2

在这种情况下检查它是A还是罚款。在这种情况下不要使用正则表达式。另外,如果你无法理解如何使用正则表达式,请先停下来学习。 –

回答

1

你不需要regex来做到这一点。你可以简单的做:

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

ToLower()将在txtChord文本框中小写任何文本,然后你可以检查对抗。或者您可以使用ToUpper()。这是同样的事情,但用大写字母。

4

什么也经常做忽略的情况是somethig这样的:

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

但需要注意的是,在你的if语句两次检查都没有“等价物”,因为&&具有较高的precendence||。您的等价物:

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

不能用单个检查替换。

1

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

相关问题