在我的C#控制台应用程序中,我正在尝试使用正则表达式搜索字符串以确定是否存在匹配项。下面是我的代码,但它不是很正常,所以我会进一步解释。 sSearchString设置为“_One-Call_Pipeline_Locations”,pDS.Name是它搜索的文件名。使用下面的代码,对于Nevada_One-Call_Pipeline_Locations和Nevada_One-Call_Pipeline_LocationsMAXIMUM,它设置为true。 Nevada_One-Call_Pipeline_Locations应该匹配但不适用于Nevada_One-Call_Pipeline_LocationsMAXIMUM。如何更改我的代码才能正确执行此操作?
提前致谢
if (Regex.IsMatch(pDS.Name, sSearchString))
答案 0 :(得分:2)
将sSearchString更改为".*_One-Call_Pipeline_Locations$"
答案 1 :(得分:1)
您需要指定匹配的名称必须以您使用美元令牌输入的文字结尾。
sSearchString = "_One-Call_Pipeline_Locations$";
答案 2 :(得分:0)
由于您没有提供其他内容应该匹配的详细信息,我们只能假设如果字符串以"Nevada_One-Call_Pipeline_Locations"
结尾,那么它匹配吗?这是对的吗?
如果是这样,您不需要正则表达式:
if (pDS.Name.EndsWith("Nevada_One-Call_Pipeline_Locations"))
{ //...