如何在java?</string>中的List <string>中替换<br/>标签

时间:2013-06-11 07:51:27

标签: java list

我有List<String>喜欢这个

List<String> list = new ArrayList<String>();

列表中的某些元素在字符串末尾有<br />个标记, 例如,当我打印上面的列表时,它给我以下结果

`[java, struts, php, ajax , javascript<br />, python, mysql, spring,<br />, hibernate, drupal<br />]`

我想删除列表中每个字符串末尾的<br />

我试图替换html标签的代码是,

for(String s: list){
s.replace("<br />", "");
}

但这不起作用..我的代码有什么问题。?

5 个答案:

答案 0 :(得分:3)

字符串在Java中是不可变的。 String.replace()不会更改作为参数给出的字符串。相反,它会返回一个 new String对象,您需要处理该对象(例如,删除原始对象并将新的对象添加到列表中)。

答案 1 :(得分:3)

正如其他人已经报道的那样,String是不可变的,因此对它们的任何操作都会返回 new 字符串。

这是一个解决同一个ArrayList的解决方案,而没有制作新的解决方案:

ListIterator<String> it = list.listIterator();
while(it.hasNext()) {
    it.set(it.next().replace("<br />", ""));
}

答案 2 :(得分:1)

String不可变。调用String中的大多数方法会导致创建新的String

答案 3 :(得分:1)

试试这个

List<String> newList = new ArrayList<String>();
for(String s : list){
  newList.add(s.replace("<br />", ""));
}

现在,新列表包含所有之前没有<br/>

的值

答案 4 :(得分:1)

字符串是不可变的,因此您必须捕获结果。

List<String> newList = new ArrayList<String>();

for(String s: list){
  newList.add(s.replace("<br />", ""));
}