2011-10-26 32 views
3

我在列表中添加了幾個字符來替換字符串。它們是:如何替換列表中的多個項目?

List<Character> list = new ArrayList<Character>(); 
list.add(','); 
list.add('?'); 
list.add(','); 
list.add(':'); 
list.add('-'); 
list.add('('); 
list.add(')'); 
list.add(';'); 
list.add('/'); 

我想用字符串「s」替換列表中所有出現的字符。

s.replaceAll(list, ""); 

我不能這樣做,當然,因爲列表不是字符串。但我能做些什麼呢?

EDIT所以如果

String s = "I am cool; not good!"; 

我想要的清單認識到它包含 「;」和「!」,並將String中的字符替換爲無。因此,結果將是:

"I am cool not good" 
+0

你不能找字符串列表,因爲它擁有唯一人物。你的意思是從列表中刪除所有的字符嗎?或者當你說替換它時,用*替換*什麼*? –

+0

我想用字符串中的「」替換列表中的所有字符。 –

+1

而不是列表爲什麼不使用正則表達式? –

回答

5

除了使用List<Character>,我會使用一個正則表達式:

s.replaceAll("[,?:();/-]",""); 

如果你絕對必須在列表定義你的角色,則列表轉換爲這樣的正則表達式第一。

+0

+1 - 我正在打字!該死的手指緩慢。 –

+0

謝謝,它的工作! –

1

而不是列表爲什麼不使用正則表達式。否則,你可能會被卡住的東西,如:

StringBuilder mySB = new StringBuilder(myString); 
for (Character myChar : list) { 
    mySB.replace(String.valueOf(myChar), ""); 
} 

myString = mySB.toString(); 
相關問題