簡體   English   中英

如何替換列表中的多個項目?

[英]How do I replace multiple items in a list?

我在列表中添加了幾個字符以替換為字符串。 他們來了:

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, "");

當然,我不能這樣做,因為list不是字符串。 但我能做些什么呢?

編輯所以如果

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

我希望列表能夠識別它包含“;” 和“!”,並在沒有任何內容的情況下替換String s中的那些字符。 結果將是:

"I am cool not good"

而不是使用List<Character> ,我會使用正則表達式:

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

如果您絕對必須在List中定義字符,請首先將List轉換為此類正則表達式。

而不是List為什么不使用正則表達式。 否則你可能會遇到類似的問題:

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

myString = mySB.toString();

查看Apache Commons StringUtils.replaceEach((String text,String [] searchList,String [] replacementList))它將允許您在一行中提供要搜索的值列表和關聯替換列表。

注意 :如果搜索和替換數組的長度不同,則拋出IndexOutOfBoundsException

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM