Java相当于python的String lstrip()?

问题描述 投票:4回答:5

我想删除字符串中的前导空格,但又不删除后导空格--所以trim()不能用。 在python中,我使用lstrip(),但我不确定在Java中是否有类似的方法。

举个例子

"    foobar    "

应成为

"foobar    "

如果可能的话,我还想避免使用Regex。

在Java中是否有一个内置的函数,或者我必须去创建我自己的方法来做这件事? (我有什么最快捷的方法可以实现)

java string trim
5个回答
4
投票

你可以在一个正则表达式中做这件事。

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

8
投票

你可以使用 StringUtils 一类 Apache Commons Lang 其具有 stripStart() 方法(还有很多很多)。


2
投票

番石榴CharMatcher.WHITESPACE.trimLeadingFrom(string). 这本身与其他实用程序库的相同版本并没有什么不同,但一旦你熟悉了 CharMatcher 有一个巨大的文本处理操作范围,你会知道如何以一致的、可读的、执行的方式来执行。



0
投票

从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."
© www.soinside.com 2019 - 2024. All rights reserved.