Mam ten ciąg: „123-456-7”Jak zamienić wystąpienia "-" na pusty ciąg znaków?
Muszę dostać ten ciąg: „1234567”
Jak mogę zastąpić wystąpień „-” z pustym ciągiem?
Mam ten ciąg: „123-456-7”Jak zamienić wystąpienia "-" na pusty ciąg znaków?
Muszę dostać ten ciąg: „1234567”
Jak mogę zastąpić wystąpień „-” z pustym ciągiem?
string r = "123-456-7";
r = r.Replace("-", "");
Pokonaj mnie o 17.3745853 sekundy +1 –
Właściwie 36 sekund, skąd jestem. ;) –
Tak prosty ??????????????????? – Gold
To powinno załatwić sprawę:
String st = "123-456-7".Replace("-","");
Wszystko w jednym wierszu. Cool +1 – ichiban
być jasne, chcesz zastąpić każdy myślnik (-) z pustymi/nic. Po zastąpieniu go backspace, to wymazałoby znak przed nim!
To doprowadziłoby do: 123-456-7 ==> 12457
Sean Bright ma właściwą odpowiedź.
String.Replace Method (String, String)
w Twoim przypadku byłoby
string str = "123-456-7";
string tempstr = str.Replace("-","");
string r = "123-456-7".Replace("-", String.Empty);
dla .NET 1.0 String.Empty nie podejmie dodatkowego miejsca na stercie, ale „” wymaga pamięci na stercie i jej adres na stosie, w wyniku czego powstaje więcej kodu zespołu. Dlatego String.Empty jest szybszy niż "".
Również String.Empty oznacza brak błędów literowych.
Sprawdź link What is the difference between String.Empty and “”.
Nie wierzę, że to prawda. String.Empty jest stałą dla "". Kompilator wskazuje wszystkie "" literały na String.Empty. Nie ma znaczenia, ile masz "" literałów. – AMissico
Dzięki, AMissico ... Właśnie sprawdziłem stertę dla 3.5 framework i masz rację, zarówno "" jak i String.Empty wskazują na to samo miejsce. Ale, dla wersji 1.0, zostanie przydzielone miejsce na stercie dla "". Odpowiednio zredagowałem odpowiedź :) –
Dowolna z powyższych metod, jak sądzę, jest w porządku, ale jeśli jesteś w jakiejś skomplikowanej operacji lepiej pomyśl o regexie, to jest naprawdę świetne.
Użyj String.Empty lub null zamiast "", ponieważ "" stworzy obiekt w pamięci dla każdego wystąpienia, podczas gdy inni będą używać tego samego obiektu.
Wats tak szczególny na temat tego pytania, aby uzyskać głosowanie? – Shoban
Obowiązek obywatelski, być może;) –