У меня есть эта строка: "123-456-7"
Мне нужно получить эту строку: "1234567"
Как я могу заменить вхождения "-" пустой строкой?
string r = "123-456-7"; r = r.Replace("-", "");
Это должно сработать:
String st = "123-456-7".Replace("-","");
string r = "123-456-7".Replace("-", String.Empty);
Для .Net 1.0 String.Empty не будет занимать дополнительное место в куче, но "" требует хранения в куче и его адреса в стеке, что приводит к увеличению количества кода сборки. Следовательно, String.Empty быстрее, чем "".
Также String.Empty означает отсутствие опечаток.
Проверьте В чем разница между String.Empty и ссылкой "" .
Для ясности, вы хотите заменить каждый дефис (-) пустым / пустым. Если вы замените его на Backspace, то перед ним будет удален символ!
Это привело бы к: 123-456-7 ==> 12457
У Шона Брайта правильный ответ.
Метод String.Replace (String, String)
в вашем случае это будет
string str = "123-456-7"; string tempstr = str.Replace("-","");
Используйте String.Empty или null вместо «», поскольку «» будет создавать объект в памяти для каждого вхождения, в то время как другие будут повторно использовать тот же объект.