2013-07-20 20 views
2

我有一個字符串,如"kdf343kkkk4k4"。我需要找到此字符串上的數字,並用'X'等特定字符替換數字。輸出應該像"kdfXXXkkkkXkX"將字符替換爲字符的正則表達式

每個號碼應與'X'更換:

343 = XXX 

我用正則表達式替換試過,但它取代了一起。

343 = X 

我使用下面的正則表達式:

x.replaceAll("([0-9])+", "X"); 

請向我解釋如何做到這一點。

+1

一成不變離開了括號和'+'的跡象。 –

回答

7

使用此:

x = x.replaceAll("\\d", "X"); 

你不需要+,有了它您可以指定「一個或多個」數字將要與一個單一的X來代替

+0

這是一個快速編輯:) –

+0

@owlstead我加入的部分是我解釋的+,當我記得\\ d甚至比[0-9] – morgano

+0

「你不需要+」短 - 在事實上,在這種情況下,你不要_want_'+' – fge

3

在你的常規表達去除+symbol

x.replaceAll("([0-9])", "X"); 

而且不要忘了重新分配回來,作爲字符串是在Java

x= x.replaceAll("([0-9])", "X"); 
+1

@suresh atta謝謝兄弟... –

+0

非常感謝 – user2579448