找到匹配的字符串System.Text.RegularExpressions.Regex.IsMatch

时间:2013-12-02 19:21:45

标签: c#

我是C#的新手。如果使用以下代码在输入记录中找到字符串,我能够确定,但是我需要提取找到的字符串(它还应该包含一些addtional字符),以便我可以看到我找到的内容,因为我正在做部分搜索。

例如,我在一个带有城市名字的字符串中看“NY”。我应该可以得到例如“纽约”(不要介意几个字母,但至少我能看到我发现的东西)。这是我用来搜索字符串的代码。

 if (System.Text.RegularExpressions.Regex.IsMatch(CityNames, CheckName, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
                {
                    MessageBox.Show("String Found");

                }
                else
                {
                    MessageBox.Show("String Not Found");

                }

2 个答案:

答案 0 :(得分:1)

使用Match方法查找匹配项,使用Success属性查看是否找到任何内容,使用Value属性获取匹配的字符串:

Match m = Regex.Match(CityNames, CheckName, RegexOptions.IgnoreCase);

if (m.Success) {
  MessageBox.Show("String Found: " + m.Value);
} else {
  MessageBox.Show("String Not Found");
}

答案 1 :(得分:0)

检查此代码:

string CityNames = "N York";
string CheckName = @"(NY|New York|[^N-Y])";

System.Text.RegularExpressions.Match match = System.Text.RegularExpressions.Regex.Match(CityNames, CheckName, System.Text.RegularExpressions.RegexOptions.IgnoreCase);

if (match.Success)
{
    MessageBox.Show("String Found");
}
else
{
    MessageBox.Show("String Not Found");
}