HowToDoInJava

  • Python
  • Java
  • Spring Boot
  • Dark Mode
Home / Java / String / Java String split()

Java String split()

The split()method in java.lang.String class returns a string array after it splits the given string around matches of a given the regular expression.

In this tutorial, learn how to split a string into an array in Java with the delimiter.

String str = "A-B-C-D";
String[] strArray = str.split("-");	

System.out.println(Arrays.toString(strArray)); 	// [A, B, C, D]

1. String split() Method

Use split() to split a string into a string array by tokenizing with delimiter or regular expression.

1.1. Method Syntax

The split() method is overloaded:

/**
* @param regex - the delimiting regular expression
* @param limit - the resulting threshold
* 
* @return - the array of strings
*/
public String[] split(String regex);

public String[] split(String regex, int limit);

1.2. throws PatternSyntaxException

Watch out that split() throws PatternSyntaxException if the regular expression’s syntax is invalid. In given example, "[" is invalid regular expression.

public class StringExample 
{
    public static void main(String[] args) 
    {       
        String[] strArray = "hello world".split("[");
    }
}

Program output.

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 0
[
^
	at java.util.regex.Pattern.error(Pattern.java:1955)
	at java.util.regex.Pattern.clazz(Pattern.java:2548)
	at java.util.regex.Pattern.sequence(Pattern.java:2063)
	at java.util.regex.Pattern.expr(Pattern.java:1996)
	at java.util.regex.Pattern.compile(Pattern.java:1696)
	at java.util.regex.Pattern.<init>(Pattern.java:1351)
	at java.util.regex.Pattern.compile(Pattern.java:1028)
	at java.lang.String.split(String.java:2367)
	at java.lang.String.split(String.java:2409)
	at com.StringExample.main(StringExample.java:9)

1.3. ‘null’ is not valid method argument

Method does not accept 'null' argument. It will throw NullPointerException in case method argument is null.

Exception in thread "main" java.lang.NullPointerException
	at java.lang.String.split(String.java:2324)
	at com.StringExample.main(StringExample.java:11)

2. Java String split() Example

Example 1: Split a string into an array with the given delimiter

Java program to split a string based on a given token. In given example, I am splitting string for delimiter hyphen "-".

public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "how to do-in-java-provides-java-tutorials";
        
        String[] strArray = str.split("-");
        
        System.out.println(Arrays.toString(strArray));
    }
}

Program output.

[how to do, in, java, provides, java, tutorials]

Example 2: Java split string by whitespace

Java program to split a string by space. In given example, I am splitting string for delimiter hyphen "\\s".

public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "how to do in java provides java tutorials";
        
        String[] strArray = str.split("\\s");
        
        System.out.println(Arrays.toString(strArray));
    }
}

Program output.

[how, to, do, in, java, provides, java, tutorials]

Example 3: Split a string into an array by comma

Java program to split a string by comma.

public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "A,B,C,D";
        
        String[] strArray = str.split(",");
        
        System.out.println(Arrays.toString(strArray));
    }
}

Program output.

[A,B,C,D]

Example 4: Java split string by multiple delimiters

Java program to split a string with multiple delimiters. Use regex OR operator '|' symbol between multiple delimiters.

In the given example, I am splitting the string with two delimiters hyphen and dot.

public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "how-to-do-in-java. provides-java-tutorials.";
        
        String[] strArray = str.split("-|\\.");
        
        System.out.println(Arrays.toString(strArray));
    }
}

Program output.

[how, to, do, in, java, provides, java, tutorials]

3. String split(String regex, int limit) Example

This version of the method also splits the string, but the maximum number of tokens can not exceed limit argument. After the method has found given the number of tokens, the rest of the unsplitted string is returned as the last token, even if it may contain the delimiters.

Below given is a Java program to split a string by space in such as the way the maximum number of tokens can not exceed 5.

public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "how to do in java provides java tutorials";
        
        String[] strArray = str.split("\\s", 5);
        
        System.out.println(strArray.length);	//5
        System.out.println(Arrays.toString(strArray));
    }
}

Program output.

5

[how, to, do, in, java provides java tutorials]

Happy Learning !!

Was this post helpful?

Let us know if you liked the post. That’s the only way we can improve.
TwitterFacebookLinkedInRedditPocket

About Lokesh Gupta

A family guy with fun loving nature. Love computers, programming and solving everyday problems. Find me on Facebook and Twitter.

Comments are closed on this article!

Search Tutorials

String methods

  • String concat()
  • String hashCode()
  • String contains()
  • String compareTo()
  • String compareToIgnoreCase()
  • String equals()
  • String equalsIgnoreCase()
  • String charAt()
  • String indexOf()
  • String lastIndexOf()
  • String intern()
  • String split()
  • String replace()
  • String replaceFirst()
  • String replaceAll()
  • String substring()
  • String startsWith()
  • String endsWith()
  • String toUpperCase()
  • String toLowerCase()

String examples

  • Convert String to int
  • Convert int to String
  • Convert String to long
  • Convert long to String
  • Convert CSV String to List
  • Java StackTrace to String
  • Convert float to String
  • String – Alignment
  • String – Immutable
  • String – StringJoiner
  • Java – Split string
  • String – Escape HTML
  • String – Unescape HTML
  • String – Convert to title case
  • String – Find duplicate words
  • String – Left pad a string
  • String – Right pad a string
  • String – Reverse recursively
  • String – Leading whitespaces
  • String – Trailing whitespaces
  • String – Remove whitespaces
  • String – Reverse words
  • String – Find duplicate characters
  • String – Check empty string
  • String – Get first 4 characters
  • String – Get last 4 characters
  • String – (123) 456-6789 pattern
  • String – Interview Questions

Java Tutorial

  • Java Introduction
  • Java Keywords
  • Java Flow Control
  • Java OOP
  • Java Inner Class
  • Java String
  • Java Enum
  • Java Collections
  • Java ArrayList
  • Java HashMap
  • Java Array
  • Java Sort
  • Java Clone
  • Java Date Time
  • Java Concurrency
  • Java Generics
  • Java Serialization
  • Java Input Output
  • Java New I/O
  • Java Exceptions
  • Java Annotations
  • Java Reflection
  • Java Garbage collection
  • Java JDBC
  • Java Security
  • Java Regex
  • Java Servlets
  • Java XML
  • Java Puzzles
  • Java Examples
  • Java Libraries
  • Java Resources
  • Java 14
  • Java 12
  • Java 11
  • Java 10
  • Java 9
  • Java 8
  • Java 7

Meta Links

  • About Me
  • Contact Us
  • Privacy policy
  • Advertise
  • Guest and Sponsored Posts

Recommended Reading

  • 10 Life Lessons
  • Secure Hash Algorithms
  • How Web Servers work?
  • How Java I/O Works Internally?
  • Best Way to Learn Java
  • Java Best Practices Guide
  • Microservices Tutorial
  • REST API Tutorial
  • How to Start New Blog

Copyright © 2020 · HowToDoInjava.com · All Rights Reserved. | Sitemap

  • Sealed Classes and Interfaces