The trim()
function removes both the trailing and leading space, however, if I only want to remove the trailing space of a string, how can I do it?
To remove leading and trailing spaces in Java, use the trim() method. This method returns a copy of this string with leading and trailing white space removed, or this string if it has no leading or trailing white space.
String result = str.The trim() method will remove both leading and trailing whitespace from a string and return the result.
In the StringUtils class, we have the methods stripStart() and stripEnd(). They remove leading and trailing characters respectively.
Using String strip() APIs – Java 11 isWhitespace(char) method to determine a white space character. String strip() – returns a string whose value is given string, with all leading and trailing white space removed. Please note that String. trim() method also produces the same result.
If you are on JDK 11 or higher you should probably be using stripTrailing().
Using the regular expression \s++$
, you can replace all trailing space characters (includes space and tab characters) with the empty string (""
).
final String text = " foo "; System.out.println(text.replaceFirst("\\s++$", ""));
Output
foo
Online demo.
Here's a breakdown of the regex:
\s
– any whitespace character,++
– match one or more of the previous token (possessively); i.e., match one or more whitespace character. The +
pattern is used in its possessive form ++
, which takes less time to detect the case when the pattern does not match.$
– the end of the string.Thus, the regular expression will match as much whitespace as it can that is followed directly by the end of the string: in other words, the trailing whitespace.
The investment into learning regular expressions will become more valuable, if you need to extend your requirements later on.
References
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With