2015-06-01 3 views
1

Я пытаюсь заменить буквы «0» на строку. Но я хочу удалить только буквы, специальные символы должны быть в строке. Допустим, мы имеем переменную, я упомянул нижеУдалить буквы из строки

var formula = "(2+b)/10"; 

var k = Regex.Replace(formuladetay, "[^0-9]", "0"); 

Когда я пытаюсь этот вывод, как этот

210 

Но я хочу

(2+0)/10 
+0

Почему не 'formula.Replace (" b "," 0 ")'? Или, если у вас несколько символов, используйте его в цикле. –

+0

Слишком много или мало определения, и оно не будет соответствовать. Что-то вроде '\ p {L}' может быть? – sln

ответ

5

ли буквы набор английских букв, используйте его:

var k = Regex.Replace(formuladetay, @"[A-Za-z]+", "0"); 

or spe cify набор допустимых символов, как вы пробовали ранее:

var k = Regex.Replace(formuladetay, @"[^\d\(\)\+\-\*\/]+", "0"); 
+0

В нем указывается \t Непризнанная escape-последовательность –

+0

Это была ошибка в исходной версии ответа. Исправлено: –

+0

Большое спасибо –

Смежные вопросы