2009-05-21 27 views
25

我有這個字符串:「123-456-7」如何用空字符串替換「 - 」的出現?

我需要得到這個字符串:「1234567」

我怎麼能代替的出現「 - 」有一個空字符串?

+13

Wats對這個問題如此特別,它被投票了嗎? – Shoban 2009-05-21 20:57:15

+5

公民的責任,也許;) – 2010-10-01 03:56:50

回答

75
string r = "123-456-7"; 
r = r.Replace("-", ""); 
+1

打我17.3745853秒+1 – 2009-05-21 20:17:43

+2

實際上是36秒,從我站在哪裏。 ;) – 2009-05-21 20:28:10

+1

那麼簡單???????????????????? – Gold 2009-05-22 05:38:08

19

這應該做的伎倆:

String st = "123-456-7".Replace("-",""); 
4

需要明確的是,你要替換每個連字符 - 空白/沒有()。 如果你用退格替換它,它會刪除之前的角色!

這將導致: 123-456-7 ==> 12457

肖恩明亮有正確的答案。

16
string r = "123-456-7".Replace("-", String.Empty); 

對於.NET 1.0的String.Empty不會佔用額外的空間在堆中,但「」需要在堆和存儲其堆棧地址導致更多彙編代碼。因此String.Empty比「」快。

另外String.Empty表示沒有錯字錯誤。

檢查What is the difference between String.Empty and 「」鏈接。

-2

上述任何一種方法我都覺得很好,但是如果你進入了一些複雜的操作,更好地考慮正則表達式,它真的很棒。

-1

使用String.Empty或null替代「」,因爲「」會在每次出現的內存中創建一個對象,而其他人將重新使用同一個對象。