2017-08-28 2 views
2

Ich habe ein Eingabefeld, um Sätze einzugeben, und ich möchte es bei jedem bestimmten Zeichen aufteilen. Ich habe dies für . getan:Teilen Sie einen Satz mit mehreren Zeichen?

var ArraySourceTexts = textbox.Text.Split(new Char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); 

Meine Frage ist, was passiert, wenn ich mehrere Zeichen? Zum Beispiel möchte ich es teilen, wenn die Sätze die Zeichen enthalten: ., ?, !.

Bitte teilen!

+2

nicht sicher, was das Problem ist ... Du bist Verwenden Sie bereits die Array-Überladung - geben Sie also weitere Elemente an: 'new Char [] {'.' , '?', '!'} ' –

+0

Ihre Frage ist unklar. Was versuchst du zu erreichen? Können Sie bitte Beispiele und gewünschte Ergebnisse angeben? –

+0

Wenn ich ein Beispiel wie folgt habe: Eingabetext: Dies ist ein Beispiel. Bitte überprüfen Sie, und lassen Sie mich Ihre Gedanken wissen! so möchte ich die Sätze aus dem Textfeld durch "." und ",". Also ich möchte die Ausgabe 3 Array haben. ' 1. Dies ist ein Beispiel. 2. Bitte überprüfen Sie, 3. und lassen Sie mich Ihre Gedanken wissen! ' –

Antwort

6

Mit string.Split mit einem Array Char können Sie so viele Zeichen wie gewünscht innerhalb dieses Arrays angeben. Nur mehr Zeichen hinzufügen, die die Spaltung verursacht:

char[] splitChars = new char[] { '.', '!', '?', ',' }; 
var ArraySourceTexts = textbox.Text.Split(splitChars, StringSplitOptions.RemoveEmptyEntries); 

Eingang:

this is an example. Please check, and let me know your thoughts!

Ausgang:

[0] this is an example 
[1] Please check 
[2] and let me know your thoughts 

Methode 2: Wenn Sie möchten, teilen die Zeichenfolge aber Ke ep die seperators (wie Sie in den Kommentaren erwähnt):

string[] arr = Regex.Split(textbox.Text, @"(?<=[.,!?])"); 

Eingang:

this is an example. Please check, and let me know your thoughts!

Ausgang:

[0] this is an example. 
[1] Please check, 
[2] and let me know your thoughts! 
Verwandte Themen