Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何替换列表中的多个项目?_Java_String_List_Arraylist_Character - Fatal编程技术网

Java 如何替换列表中的多个项目?

Java 如何替换列表中的多个项目?,java,string,list,arraylist,character,Java,String,List,Arraylist,Character,我在列表中添加了几个字符以替换为字符串。这是: List<Character> list = new ArrayList<Character>(); list.add(','); list.add('?'); list.add(','); list.add(':'); list.add('-'); list.add('('); list.add(')'); list.add(';'); list.add('/'); 当然,我不能这样做,因为列表不是字符串。但我能做些什么

我在列表中添加了几个字符以替换为字符串。这是:

List<Character> list = new ArrayList<Character>();
list.add(',');
list.add('?');
list.add(',');
list.add(':');
list.add('-');
list.add('(');
list.add(')');
list.add(';');
list.add('/');
当然,我不能这样做,因为列表不是字符串。但我能做些什么呢

编辑以便

String s = "I am cool; not good!";
我希望列表识别它包含“;”和“!”,并将字符串s中的字符替换为零。因此,结果将是:

"I am cool not good"

我不使用
列表
,而是使用正则表达式:

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

如果必须在列表中定义字符,请先将列表转换为这样的正则表达式。

而不是列表为什么不使用正则表达式。否则,您可能会遇到以下问题:

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

myString = mySB.toString();
查看ApacheCommons,它将允许您在一行中提供要搜索的值列表和相关替换的列表


注意:如果搜索数组和替换数组的长度不同,则会引发IndexOutOfBoundsException

无法在列表中查找字符串,因为它只包含字符。是否要从列表中删除所有的“s”字符?或者当你说替换它时,用什么替换它?我想用字符串中的“”替换列表中的所有字符。而不是一个列表,为什么不使用正则表达式?+ 1——我在打字的中间!该死的这些慢手指。
StringBuilder mySB = new StringBuilder(myString);
for (Character myChar : list) {
  mySB.replace(String.valueOf(myChar), "");
}

myString = mySB.toString();