2010-06-17 260 views
1

在我的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)) 

回答

2

變化sSearchString到".*_One-Call_Pipeline_Locations$"

1

你需要指定一個匹配的名稱必須與已使用美元令牌輸入的文本結束。

sSearchString = "_One-Call_Pipeline_Locations$"; 
0

既然你沒有提供任何細節,以應符合什麼別的,我們只能假設,如果字符串以"Nevada_One-Call_Pipeline_Locations"結束,那麼它匹配?它是否正確?

如果是這樣,你不需要正則表達式:

if (pDS.Name.EndsWith("Nevada_One-Call_Pipeline_Locations")) 
{ //... 
+0

我只提供這兩個作爲例子。有很多其他的字符串將被搜索sSearchString – Josh 2010-06-17 14:14:40