我想删除字符串中的前导空格,但又不删除后导空格--所以trim()不能用。 在python中,我使用lstrip(),但我不确定在Java中是否有类似的方法。
举个例子
" foobar "
应成为
"foobar "
如果可能的话,我还想避免使用Regex。
在Java中是否有一个内置的函数,或者我必须去创建我自己的方法来做这件事? (我有什么最快捷的方法可以实现)
你可以在一个正则表达式中做这件事。
" foobar ".replaceAll("^\\s+", "");
你可以使用 StringUtils
一类 Apache Commons Lang 其具有 stripStart()
方法(还有很多很多)。
番石榴 有 CharMatcher.WHITESPACE.trimLeadingFrom(string)
. 这本身与其他实用程序库的相同版本并没有什么不同,但一旦你熟悉了 CharMatcher
有一个巨大的文本处理操作范围,你会知道如何以一致的、可读的、执行的方式来执行。
从Java11开始,你可以使用 .stripLeading()
去掉字符串上的前导空格和 .stripTrailing()
来删除尾部的空格。
相关文档可以在这里找到。https:/docs.oracle.comenjavajavase11docsapijava.basejavalangString.html#stripLeading()
例如:
String s = " Hello there. ";
s.stripLeading(); // "Hello there. "
s.stripTrainling(); // " Hello there."
s.strip(); // "Hello there."