【发布时间】:2016-06-06 06:39:20
【问题描述】:
我在java中有这种场景,字符串中的最后一个字符:或-应该换成""。
例子:
String value = "data - ";
String value2 = "data :";
value.replaceAll("[-:]$","");
value2.replaceAll("[:-]$","");
System.out.println(value);
System.out.println(value2);
输出:
data -
data
我认为空格被视为最后一个字符并且与正则表达式提供的不匹配,有人可以帮我解决这个问题吗?谢谢。
【问题讨论】:
-
value.replaceFirst("\\s*[-:]\\s*$",""); -
plus 1 para sa grad pic :) 不错。在替换之前先修剪空格,以便消除空格
-
@Katana 我认为您的解决方案是一个多余的过程,因为在替换字符修剪之后会随之而来。
-
String是 Java 中的不可变对象。调用replaceAll()方法不会更改原始值。replaceAll()方法将返回String的新实例。 -
@AvinashRaj 谢谢!
标签: java regex whitespace trim