truncate()
is a StringUtils
class which is used to truncate a given string. The method accepts:
If the length of the string is less than the specified maximum width, then the method returns the input string. Otherwise, the method returns the substring i.e substring(str, 0, maxWidth)
.
If the maximum width is less than zero, then an IllegalArgumentException
is thrown.
StringUtils
The definition of StringUtils
can be found in the Apache Commons Lang package, which we can add to the Maven project by adding the following dependency to the pom.xml
file:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
For other versions of the commons-lang package, refer to the Maven Repository.
You can import the StringUtils
class as follows:
import org.apache.commons.lang3.StringUtils;
public static String truncate(final String str, final int maxWidth)
final String str
: The string to truncate.final int maxWidth
: The maximum length of the result string.This method returns the truncated string.
import org.apache.commons.lang3.StringUtils;public class Main {public static void main(String[] args) {String s = "hellO-EDUcative";int maxWidth = 5;System.out.printf("The output of StringUtils.truncate() for the string - '%s' is %s", s, StringUtils.truncate(s, maxWidth));System.out.println();maxWidth = 20;System.out.printf("The output of StringUtils.truncate() for the string - '%s' is %s", s, StringUtils.truncate(s, maxWidth));System.out.println();s = "";System.out.printf("The output of StringUtils.truncate() for the string - '%s' is %s", s, StringUtils.truncate(s, maxWidth));System.out.println();s = null;System.out.printf("The output of StringUtils.truncate() for the string - '%s' is %s", s, StringUtils.truncate(s, maxWidth));System.out.println();maxWidth = -1;System.out.printf("The output of StringUtils.truncate() for the string - '%s' is %s", s, StringUtils.truncate(s, maxWidth));System.out.println();}}
"hellO-EDUcative"
maxWidth = 5
The method returns hellO
, i.e., the substring from index zero to four.
"hellO-EDUcative"
maxWidth = 20
The method returns hellO-EDUcative
, i.e., the whole input string, because the maximum width is greater than the length of the string.
""
maxWidth = 20
The method returns ""
as the input string is empty.
null
maxWidth = 20
The method returns null
as the input string is null
.
"hellO-EDUcative"
maxWidth = -1
The method throws an IllegalArgumentException
as the specified width is less than zero.
The output of the code will be as follows:
The output of StringUtils.truncate() for the string - 'hellO-EDUcative' is hellO
The output of StringUtils.truncate() for the string - 'hellO-EDUcative' is hellO-EDUcative
The output of StringUtils.truncate() for the string - '' is
The output of StringUtils.truncate() for the string - 'null' is null
Exception in thread "main" java.lang.IllegalArgumentException: maxWith cannot be negative
at org.apache.commons.lang3.StringUtils.truncate(StringUtils.java:9263)
at org.apache.commons.lang3.StringUtils.truncate(StringUtils.java:9195)
at Main.main(Main.java:24)