Tutorialspoint.dev

How to split a string in C/C++, Python and Java?

Splitting a string by some delimiter is a very common task. For example, we have a comma separated list of items from a file and we want individual items in an array.

Almost all programming languages, provide function split a string by some delimiter.

In C/C++:

// Splits str[] according to given delimiters.
// and returns next token. It needs to be called
// in a loop to get all tokens. It returns NULL
// when there are no more tokens.
char * strtok(char str[], const char *delims);
// A C/C++ program for splitting a string
// using strtok()
#include <stdio.h>
#include <string.h>
  
int main()
{
    char str[] = "Geeks-for-Geeks";
  
    // Returns first token 
    char *token = strtok(str, "-");
    
    // Keep printing tokens while one of the
    // delimiters present in str[].
    while (token != NULL)
    {
        printf("%s ", token);
        token = strtok(NULL, "-");
    }
  
    return 0;
}

Output:

Geeks
for
Geeks



In Java :
In Java, split() is a method in String class.



// expregexp is the delimiting regular expression; 
// limit is the number of returned strings
public String[] split(String regexp, int limit);

// We can call split() without limit also
public String[] split(String regexp)
 
// A Java program for splitting a string
// using split()
import java.io.*;
public class Test
{
    public static void main(String args[])
    {
        String Str = new String("Geeks-for-Geeks");
  
        // Split above string in at-most two strings  
        for (String val: Str.split("-", 2))
            System.out.println(val);
  
        System.out.println("");
    
        // Splits Str into all possible tokens 
        for (String val: Str.split("-"))
            System.out.println(val);
    }
}

Output:

Geeks
for-Geeks

Geeks
for
Geeks



In Python:

 
  // regexp is the delimiting regular expression; 
  // limit is limit the number of splits to be made 
  str.split(regexp = "", limit = string.count(str)) 
line = "Geek1 Geek2 Geek3";
print line.split()
print line.split(' ', 1)

Output:

['Geek1', 'Geek2', 'Geek3']
['Geek1', '
Geek2 
Geek3'] 

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above



This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter