Как удалить переменную часть строки? - PullRequest
1 голос
/ 04 января 2011

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

Это должно быть сделано в c #.Я думаю, что это можно сделать с помощью регулярных выражений?Но я не уверен.

Ответы [ 4 ]

2 голосов
/ 04 января 2011

Регулярное выражение для сопоставления, которое /[^/]*/cms/, используется так: new Regex("/[^/]*/cms/").Replace(yourString, "")

1 голос
/ 04 января 2011
using System.Text.RegularExpressions;

Regex.Replace("/some example text/cms/;/some more text/cms/text/cms", "/[^/]+/cms/", "")

Используйте /[^/]+/cms/, если что-то должно быть между первым и вторым /, используйте /[^/]*/cms/, если //cms/ является действительным соответствием.

0 голосов
/ 04 января 2011

Принятый ответ в вам поможет этот вопрос. Убедитесь, что вы используете метод Regex.Replace() для сопоставления и замены шаблонов.

0 голосов
/ 04 января 2011

Посмотрите вверх Regex.Replace .Взломать пример быстро:

string pattern = "/[^/]+/cms/";
string replacement = "";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...