Регулярный вопрос - PullRequest
       1

Регулярный вопрос

1 голос
/ 17 июня 2010

В моем C # Console App я пытаюсь использовать Regex для поиска строки, чтобы определить, есть ли совпадение или нет. Ниже приведен мой код, но он не совсем работает правильно, поэтому я объясню дальше. Для sSearchString установлено значение "_One-Call_Pipeline_Locations", а pDS.Name - это имя файла, по которому он ищет. Используя приведенный ниже код, он устанавливается в значение true для Nevada_One-Call_Pipeline_Locations и Nevada_One-Call_Pipeline_LocationsMAXIMUM. Должно быть совпадение для Nevada_One-Call_Pipeline_Locations, но не для Nevada_One-Call_Pipeline_LocationsMAXIMUM. Как я могу изменить свой код, чтобы сделать это правильно?

Заранее спасибо

if (Regex.IsMatch(pDS.Name, sSearchString))

Ответы [ 3 ]

2 голосов
/ 17 июня 2010

изменить sSearchString на ".*_One-Call_Pipeline_Locations$"

1 голос
/ 17 июня 2010

Необходимо указать, что совпадающее имя должно заканчиваться текстом, введенным вами с использованием жетона доллара.

sSearchString = "_One-Call_Pipeline_Locations$";
0 голосов
/ 17 июня 2010

Поскольку вы не предоставили подробностей относительно того, что еще должно совпадать, мы можем только предположить, что если строка заканчивается на "Nevada_One-Call_Pipeline_Locations", то она совпадает? Это правильно?

Если это так, вам не нужно регулярное выражение:

if (pDS.Name.EndsWith("Nevada_One-Call_Pipeline_Locations"))
{ //...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...