Splitter omitEmptyStrings() method | Guava | Java

Last Updated : 31 Jan, 2019
The method omitEmptyStrings() returns a splitter that behaves equivalently to this splitter, but automatically omits empty strings from the results. For example, Splitter.on (', ').omitEmptyStrings().split(", a,,, b, c,,") returns an iterable containing only ["a", "b", "c"]. Syntax:
public Splitter omitEmptyStrings()
Return Value: This method returns a splitter with the desired configuration.
Note: If either trimResults option is also specified when creating a splitter, that splitter always trims results first before checking for emptiness. So, for example, Splitter.on(':').omitEmptyStrings().trimResults().split(": : : ") returns an empty iterable.
Below examples illustrate the working of omitEmptyStrings() method: Example 1: Java
// Java code to show implementation of
// omitEmptyStrings() method
// of Guava's Splitter Class

import com.google.common.base.Splitter;
import java.util.List;

class GFG {

    // Driver's code
    public static void main(String[] args)
    {

        // Creating a string variable
        String str = "geeks,,  for,,,  geeks,, noida,,, classes";
        System.out.println("String with empty strings: \n"
                           + str);

        // Using omitEmptyStrings() method.
        // Two delimiters sometimes occur right next
        // to each other. This means an empty entry.
        // But often in splitting, we don't want
        // to keep empty entries.
        List<String> myList = Splitter.on(', ').
         trimResults().omitEmptyStrings().splitToList(str);

        System.out.println("\nString with empty"
                           + " strings removed: \n"
                           + myList);
    }
}
Output:
String with empty strings: 
geeks,,  for,,,  geeks,, noida,,, classes

String with empty strings removed: 
[geeks, for, geeks, noida, classes]
Example 2: Java
// Java code to show implementation of
// omitEmptyStrings() method
// of Guava's Splitter Class

import com.google.common.base.Splitter;
import java.util.List;

class GFG {

    // Driver's code
    public static void main(String[] args)
    {
        // Creating a string variable
        String str = "Hello..$.$ everyone..$& $ what's up..?";
        System.out.println("String with empty strings: \n"
                           + str);

        // Using omitEmptyStrings() method.
        // Two delimiters sometimes occur right next
        // to each other. This means an empty entry.
        // But often in splitting, we don't want
        // to keep empty entries.
        List<String> myList = Splitter.on('.').
            trimResults().omitEmptyStrings().splitToList(str);

        System.out.println("\nString with empty"
                           + " strings removed: \n"
                           + myList);
    }
}
Output:
String with empty strings: 
Hello..$.$ everyone..$& $ what's up..?

String with empty strings removed: 
[Hello, $, $ everyone, $& $ what's up, ?]
Comment