在Java中,JavaScript ltrim()
和rtrim()
函数有什么好的替代方案?
最佳答案
使用正则表达式,您可以编写:
String s = ...
String ltrim = s.replaceAll("^\\s+","");
String rtrim = s.replaceAll("\\s+$","");
如果您必须经常这样做,则可以创建并编译模式以获得更好的性能:
private final static Pattern LTRIM = Pattern.compile("^\\s+");
public static String ltrim(String s) {
return LTRIM.matcher(s).replaceAll("");
}
从性能的角度来看,一个快速的微基准测试(在JIT编译后)表明,正则表达式方法比循环慢大约5倍(对于100万次ltrim,它是0.49s对0.11s)。
我个人发现正则表达式方法更具可读性,并且不易出错,但是如果性能是一个问题,则应使用循环解决方案。