Feedback

C# - Split string in seperate words

Veröffentlicht von am 07.11.2015
(1 Bewertungen)
This code split a string in seperate words.
using System;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "This is a big house";

            //Split string on spaces.
            string[] wordsSplit = s.Split(' ');

            foreach (string word in wordsSplit)
            {
                Console.WriteLine(word);
            }
        }
    }
}
Abgelegt unter split, string.

6 Kommentare zum Snippet

derlucky schrieb am 08.11.2015:
This solution solves this problem not very well. So what is with double spaces (accidently) or tabs and newline between words? Regular Expressions are more recommended on this:

string words = "Lorem ipsum\tdolor sit amet consetetur sadipscing elitr";
string[] wordsSplit = Regex.Split(words, @"\s+");

There are several more problems to solve, e.g. to cope with special characters.
diub schrieb am 08.11.2015:
Alternative:
String [] stra = dummy.Split (new char [] { ' ', ';', '.' }, StringSplitOptions.RemoveEmptyEntries);
Koopakiller schrieb am 08.11.2015:
@derlucky Wenn du Leistung weg werfen willst, dann nimm Regex. Ansonsten mach es wie @diub und übergib mehrere Split-Zeichen. Da dann ggf. auch den Tabulator usw.
Martin Stühmer schrieb am 09.11.2015:
Und wenn du nicht sicher bist, welche WhiteSpaces im Text enthalten sind, verwendest du die folgende Variante.

var words = text.Split(new char[] { }, StringSplitOptions.RemoveEmptyEntries)


Diese Variante trennt nach allen bekannten WhiteSpaces (Link: https://en.wikipedia.org/wiki/Whitespace_character)
Koopakiller schrieb am 09.11.2015:
@Martin man lernt wirklich nie aus. Danke für den Tipp :)
Anonymous2 schrieb am 26.11.2015:
null reicht auch als Parameter anstatt dem char Array, da spart man sich ein wenig tippen.
 

Logge dich ein, um hier zu kommentieren!