3 回答
TA贡献1866条经验 获得超5个赞
只需遍历您的列表并使用 String::replaceAll
List<String> list = new ArrayList <String>();
list.add("$123");
list.add("$345");
list.add("12345");
for (String s : list) {
System.out.println(s.replaceAll("^\\$", ""));
}
如果你想更新List你可以使用的值List::set
TA贡献1817条经验 获得超6个赞
目前还不清楚你想要什么。一个带有修剪元素的新列表,只打印没有欧元符号或其他东西的元素?欧元在任何元素的开头,是否可以多次出现?等等......这里只是一个想法:
List<String> list = Arrays.asList("€14", "€55", "€500");
System.out.println(list);
List<String> trimmedList =
list.
stream().
map(s -> s.startsWith("€") ? s.substring(1) : s).
collect(Collectors.toList());
System.out.println(trimmedList);
它打印:
[€14, €55, €500]
[14, 55, 500]
TA贡献1784条经验 获得超2个赞
你也可以使用这个正则表达式,
List<String> myList = new ArrayList<String>();
myList.add("$14");
myList.add("$55");
myList.add("$500");
System.out.println(myList);
for (int i = 0; i < myList.size(); i++) {
myList.set(i, myList.get(i).replaceAll("^[^\\d]+", ""));
}
System.out.println(myList);
添加回答
举报