Java相当于python的String lstrip()?

时间:2010-06-23 09:05:28

标签: java string trim

我想删除字符串中的前导空格,但不删除尾随空格 - 所以trim()将不起作用。在python中我使用lstrip(),但我不确定Java中是否存在等价物。

作为一个例子

"    foobar    "

应该成为

"foobar    "

如果可能的话,我也想避免使用正则表达式。

Java中是否有内置函数,或者我是否必须创建自己的方法来执行此操作? (以及我能达到的最短路径是什么)

5 个答案:

答案 0 :(得分:7)

您可以使用StringUtilsApache Commons LangstripStart()方法(以及更多方法)。

答案 1 :(得分:4)

您可以使用正则表达式执行此操作:

"    foobar    ".replaceAll("^\\s+", "");

答案 2 :(得分:2)

GuavaCharMatcher.WHITESPACE.trimLeadingFrom(string)。这本身与其他实用程序库的同一版本的版本没有什么不同,但是一旦熟悉CharMatcher,就会有大量的文本处理操作,您将知道如何以一致的方式执行,可读,高效的方式。

答案 3 :(得分:1)

从Java11开始,您可以在字符串上使用.stripLeading()来删除前导空格,并使用.stripTrailing()来删除尾随空格。

有关此文档,请参见:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html#stripLeading()

示例:

String s = "    Hello there.    ";
s.stripLeading();    // "Hello there.    "
s.stripTrainling();  // "    Hello there."
s.strip();           // "Hello there."

答案 4 :(得分:0)