Logo

Programming-Idioms

Build list chunks consisting in substrings of the string s, separated by one or more space characters.
Implementation
Java

Implementation edit is for fixing errors and enhancing with metadata. Please do not replace the code below with a different implementation.

Instead of changing the code of the snippet, consider creating another Java implementation.

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
String[] chunks = s.split("\\s+");
import "strings"
chunks := strings.Split(s, " ")
chunks = s.split()
$chunks = preg_split('/ +/', $s);
@chunks = split /\s+/, $s;
let chunks = s.split(/ +/);
let chunks: Vec<_> = s.split_whitespace().collect();
import std.range;
auto chunks = s.splitter;
s.split(new RegExp('\\s+'))
Uses Classes;
chunks.StrictDelimiter := True;
chunks.Delimiter := ' ';
chunks.DelimitedText := s;
chunks = s.split
chunks = String.split(s)
chunks = words s
Chunks = string:tokens(S, [$\s]).
import "strings"
chunks := strings.Fields(s)
chunks = {}
for substring in s:gmatch("%S+") do
   table.insert(chunks, substring)
end
#include <string.h>
chunks[0] = strtok(s, " ");
for (int i = 1; i < N; ++i)
{
    chunks[i] = strtok(NULL, " ");
    
    if (!chunks[i])
        break;
}
(define (tokenize l)
  (let loop ((t '())
             (l l))
    (if (pair? l)
        (let ((c (car l)))
          (if (char=? c #\space)
              (cons (reverse t) (loop '() (cdr l)))
              (loop (cons (car l) t) (cdr l))))
        (if (null? t)
            '()
            (list (reverse t))))))

(define (string-split s)
  (map list->string (tokenize (string->list s))))
string[] chunks = s.Split(' ');
val chunks = s.split(" ")
(require '[clojure.string :refer [split]])
(def chunks (split s #"\s+"))
#include <sstream>
#include <algorithm>
#include <iterator>
#include <list>
std::istringstream x(s);
std::list<std::string> chunks;
std::copy(std::istream_iterator<std::string>(x), std::istream_iterator<std::string>(), std::back_inserter(chunks));
program main
use stringifor_string_t ! https://github.com/szaghi/StringiFor
   implicit none
   type( string ) ::  string1
   type( string ), allocatable :: substrings( : )
   integer :: i

   string1 =  " Build list _chunks consisting in substrings of input string _s  separated by one or more space characters"
   call string1%split(sep=' ', tokens=substrings )
   do i=1,size(substrings, dim=1)
   write(*,*) substrings(i)
   enddo
end program main
@import Foundation;
NSArray *chunks=[s componentsSeparatedByString:@" "];
def chunks = s.split(/\s+/)
let chunks: Vec<_> = s.split_ascii_whitespace().collect();
let chunks: Vec<_> = s.split(' ').collect();
chunks := s substrings
val chunks = s.split("\\s+".toRegex())
 
(defun words (s)
  (if (equalp s "") nil 
      (let ((p (position #\Space s )))
    (cond ((null p) (list s))
          ((zerop p ) (words (subseq s 1)))
          (T (cons (subseq s 0 p) (words (subseq s (+ 1 p ))))))))) 

(setf chunks (words s))