Рубрики

Как разбить строку в C / C ++, Python и Java?

Разделение строки каким-либо разделителем — очень распространенная задача. Например, у нас есть список элементов из файла, разделенных запятыми, и мы хотим, чтобы отдельные элементы в массиве.

Практически во всех языках программирования предусмотрена функция разбиения строки по некоторому разделителю.

В 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);

// AC / C ++ программа для разбиения строки
// используя strtok ()
#include <stdio.h>
#include <string.h>

  

int main()

{

    char str[] = "Geeks-for-Geeks";

  

    // Возвращает первый токен

    char *token = strtok(str, "-");

    

    // Продолжаем печатать токены, пока один из

    // разделители, присутствующие в str [].

    while (token != NULL)

    {

        printf("%s\n", token);

        token = strtok(NULL, "-");

    }

  

    return 0;

}

Выход:

Geeks
for
Geeks

В Java:
В Java split () является методом в классе String.

// 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)
 

// Java-программа для разбиения строки
// используя split ()

import java.io.*;

public class Test

{

    public static void main(String args[])

    {

        String Str = new String("Geeks-for-Geeks");

  

        // Разделить строку над не более чем двумя строками

        for (String val: Str.split("-", 2))

            System.out.println(val);

  

        System.out.println("");

    

        // Разбивает Str на все возможные токены

        for (String val: Str.split("-"))

            System.out.println(val);

    }

}

Выход:

Geeks
for-Geeks

Geeks
for
Geeks

В 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 \nGeek2 \nGeek3";

print line.split()

print line.split(' ', 1)

Выход:

['Geek1', 'Geek2', 'Geek3']
['Geek1', '\nGeek2 \nGeek3'] 

Эта статья предоставлена Адитьей Чаттерджи. Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Как разбить строку в C / C ++, Python и Java?

0.00 (0%) 0 votes