Java Split String by Space and Newline - Java Tutorial for Beginners

Overview

In this tutorial, we show you how to read file to string with utf-8 and split string by multiple spaces or split string by new line.

Java Split String by Space and Newline

Read file to string with utf-8

There are several ways to read a plain text file in Java, such as BufferedReader, java.nio.file.Files.lines() ... In this example, we can use java.nio.file.Files.readAllBytes() method to read file content into string. The text file is stored at C:/data/fruits.txt with following contents.
Cherry
  Banana  Chico fruit
Jackfruit   Kiwifruit
Orange Pineapple  Mango Apple
This code will read a text file into a String using java 7. Files.readAllBytes().
  String filePath = "c:/data/fruits.txt";
  
  String contents = null;
  try {
   contents = new String(Files.readAllBytes(Paths.get(filePath)));
  } catch (IOException e) {
   e.printStackTrace();
  }
  System.out.println("##### Before split");
  System.out.println(contents);

Split string by new line

New line character is different in various operating systems. In Unix, New Mac Environment, lines are just separated by the character "\n". In Windows Environment lines are just separated by the character "\r\n". The best way to split a string by new line character using Java regex \r?\n .
System.out.println("##### split string by new line");
  String[] lines = contents.split("\\r?\\n");
  for (String line : lines) {
            System.out.println(line);
        }

Split string by multiple spaces

To split the string with one or more whitespaces we use the "\s+" regular expression. Let’s see the code snippet below.
System.out.println("##### Split string by multiple spaces");
  String[] fruits = contents.split("\\s+");
  for(String fruit : fruits) {
   System.out.println(fruit);
  }

Full source code Split String

See the below completed source code for Split String in Java.
package com.jackrutorial;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class SplitStringExample {

 public static void main(String[] args) {
  String filePath = "c:/data/fruits.txt";
  
  String contents = null;
  try {
   contents = new String(Files.readAllBytes(Paths.get(filePath)));
  } catch (IOException e) {
   e.printStackTrace();
  }
  System.out.println("##### Before split");
  System.out.println(contents);
  
  System.out.println("##### split string by new line");
  String[] lines = contents.split("\\r?\\n");
  for (String line : lines) {
            System.out.println(line);
        }
  
  System.out.println("##### Split string by multiple spaces");
  String[] fruits = contents.split("\\s+");
  for(String fruit : fruits) {
   System.out.println(fruit);
  }
 }
}

Console Output

##### Before split
Cherry
  Banana  Chico fruit
Jackfruit   Kiwifruit
Orange Pineapple  Mango Apple
##### split string by new line
Cherry
  Banana  Chico fruit
Jackfruit   Kiwifruit
Orange Pineapple  Mango Apple
##### Split string by multiple spaces
Cherry
Banana
Chico
fruit
Jackfruit
Kiwifruit
Orange
Pineapple
Mango
Apple
Previous Post
Next Post

post written by: