Удалить символы из строки - PullRequest
1 голос
/ 24 декабря 2011

Как удалить символ из определенного символа в определенный символ ...

Пример

 string a = " Hello ! {ssd} jksssss";

В приведенной выше строке я хочу удалить символ из '{' to '}'

 output -- >  `Hello !  jksssss`

Ответы [ 4 ]

5 голосов
/ 24 декабря 2011

Это можно сделать с помощью Regex.Replace:

string a = " Hello ! {ssd} jksssss";
string b = Regex.Replace(a, "{\w+}", "");

Это не сработает для "Hi {!#$#@}!", который оставлен как отрывок :-) Запустите на этой странице MSDN для получения дополнительной базовой информации о регулярных выражениях в .NET.

4 голосов
/ 24 декабря 2011

Один из способов без использования регулярных выражений ниже:

string a = " Hello ! {ssd} jksssss";
int start = a.IndexOf('{');
int end = a.IndexOf('}', start);
if (end > start && start != -1) {
    a = a.Remove(pos, end-start+1);
}
3 голосов
/ 24 декабря 2011

Вы можете использовать класс Regex в System.Text.RegularExpressions, чтобы выполнить замену. Например:

var a = " Hello ! {ssd} jksssss";
var newString = Regex myRegex = new Regex("{{.+}}", "");
myRegex.Replace(a, "");

EDIT:

Если вы хотите сопоставить множественные вхождения фигурных скобок и заменить каждую из них, используйте вместо этого регулярное выражение:

var a = "Hello ! {ssd} jksssss {tasdas}";
Regex myRegex = new Regex("{{[^{]+}}", "");
var newString = myRegex.Replace(a, "");
// a == "Hello !  jksssss "
0 голосов
/ 24 декабря 2011

Вы также можете использовать Regex.Replace (), если вы не хотите находить определенные позиции, а содержимое между фигурными скобками варьируется.

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