Я раньше регулярными выражениями не пользовался,а вот сейча ну очень понадобилось. Из строки вырезать или заменить число которое в конце строки в скобках. Написал следующее.
String str = "123a21(3)";
bool f = Regex.IsMatch(str,"^.*[(]*[)]$");
str = Regex.Replace(str,"^.*[(]*[)]$","$1");
IsMatch возвращает true значит есть число, но последняя строка его не получает.
Подскажите пожалуста, что не так.
Здравствуйте, BJk, Вы писали:
BJk>Здравствуйте, cybrex, Вы писали:
C>>Подскажите пожалуста, что не так.
BJk>^.*\(((\+|-)?[0-9][0-9]*(\.|\,)?[0-9]*)\)$
BJk>Вот так более верно. Покрайней мере на приведенном вами примере работает.
BJk>Также учтена возможность появления положительных и отрицательных значений, также обрабатываются числа с запятой(|точкой)
Тоесть надо поместить строку сюда
Regex.Replace(str,@"^.*\(((\+|-)?[0-9][0-9]*(\.|\,)?[0-9]*)\)$","$1")
в результате исходная строка

Может я опять чтото напутал.
А насчёт чисел там только целые положительные.
Здравствуйте, cybrex, Вы писали:
C>Тоесть надо поместить строку сюда
C>Regex.Replace(str,@"^.*\(((\+|-)?[0-9][0-9]*(\.|\,)?[0-9]*)\)$","$1")
C>А насчёт чисел там только целые положительные.
А, вполне, тогда все проще:
String str = "123a21(3)";
Regex r = new Regex(@"\(\d+\)$");
str = r.Replace(str, "(ku)");