2017-01-31 4 views
1

Зачем это печатает тот же результат?строка удалить все буквы

string tester = "stUniqueId01"; 
Debug.WriteLine("ID: " + tester); 
var regex = tester.Replace("[^0-9.]", ""); 
Debug.WriteLine("ID: " + regex); 

Выход:

ID: stUniqueId01 
ID: stUniqueId01 
+4

Поскольку 'String.Replace' не поддерживает регулярные выражения. Используйте 'var regex = Regex.Replace (тестер," [^ 0-9.] "," ");' –

+0

@ WiktorStribiżew GOSHHHHHHH, спасибо – user2530266

ответ

3

Вы звоните string.Replace, не Regex.Replace. Я думаю, что вы хотите:

string tester = "stUniqueId01"; 
Debug.WriteLine("ID: " + tester); 
var regex = new Regex("[^0-9.]"); 
Debug.WriteLine("ID: " + regex.Replace(tester,"")); 

или:

string tester = "stUniqueId01"; 
Debug.WriteLine("ID: " + tester); 
var replaced = Regex.Replace(tester,"[^0-9.]",""); 
Debug.WriteLine("ID: " + replaced); 

, если вы не намерены повторно использовать регулярное выражение.

0

Вы используете метод Replace из String. Требуются строки, а не регулярные выражения. Попробуйте:

string tester = "stUniqueId01"; 
Console.WriteLine("ID: " + tester); 
Regex rx = new Regex("[^0-9.]"); 
var regex = rx.Replace(tester, ""); 
Console.WriteLine("ID: " + regex); 

Результат:

ID: stUniqueId01 
ID: 01 

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

  • Нет связанных вопросов^_^