C # Regex: захватывать все до - PullRequest
4 голосов
/ 05 апреля 2010

Я хочу записать все до (не включая) знак # в строке. Символ # может присутствовать или отсутствовать (если он отсутствует, должна быть захвачена вся строка).

Что бы RegEx и C # кодировали для этого? Я пробовал: ([^ #] +) (?: #), Но, похоже, это не работает.

Ответы [ 3 ]

2 голосов
/ 05 апреля 2010

Не регулярное выражение, а альтернатива, чтобы попробовать. Можно использовать и регулярное выражение, но для этой конкретной ситуации я предпочитаю этот метод.

string mystring = "DFASDFASFASFASFAF#322323"; 
int length = (mystring.IndexOf('#') == -1) ? mystring.Length : mystring.IndexOf('#');
string new_mystring = mystring.Substring(0, length);
2 голосов
/ 05 апреля 2010

Попробуйте:

. * (? = #)

Я думаю, что должно работать

EDIT:

^[^#]*

В коде:

string match = Regex.Match(input,"^[^#]*").Value;
1 голос
/ 05 апреля 2010

Что не так с чем-то простым:

[^#]*

Просто принять первый матч?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...