[英]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.