containsOnly()
is a
StringUtils
class that is used to check whether a given string contains only valid characters.
The characters in the string can be repeated any number of times, but they have to be a subset of the defined valid characters.
For example:
valid characters = "abc" string = "ababaaaabbbcccac"
Since the string contains only valid characters, containsOnly
would return true
.
valid characters = "abc" string = "ababadefaabbbcccac"
Since the string contains characters that are not valid, containsOnly
would return false
.
apache commons lang package
StringUtils
is defined in the Apache Commons Lang package. Apache Commons Lang can be added 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.
StringUtils
You can import the StringUtils
class as follows.
import org.apache.commons.lang3.StringUtils;
public static boolean containsOnly(final CharSequence cs, final char... valid)
final CharSequence cs
: the character sequence to check for valid characters.
final char... valid
: an array of valid characters.
The function returns true
if the character sequence only contains passed valid characters and is not null
. Otherwise, it returns false
.
public static boolean containsOnly(final CharSequence cs, final String validChars)
final String validChars
: a string of valid characters.The function returns true
if the character sequence only contains passed valid characters and is not null
. Otherwise, it returns false
.
In the code below, we define an array of valid characters and a sequence of characters.
import org.apache.commons.lang3.StringUtils;public class Main{public static void main(String[] args){String characterSequence = "abbbcccaaaccb";char[] validChars = "abc".toCharArray();System.out.println(StringUtils.containsOnly(characterSequence, validChars));characterSequence = "abcdef";System.out.println(StringUtils.containsOnly(characterSequence, validChars));}}
The output of the code will be as follows.
true
false
This is because the first sequence of characters contains only valid characters, and the second sequence of characters contains extra characters that are not defined in the array of valid characters.