using System; class Sample { public static void Main() { string s1 = ",A,TWO,,,THREE,,"; char[] charSeparators = new char[] {','}; string[] result; result = s1.Split(charSeparators, StringSplitOptions.None); Show(result); } public static void Show(string[] entries) { foreach (string entry in entries) { Console.WriteLine(entry); } } }
Data Types
Split a string delimited by another string and return all elements
using System; class Sample { public static void Main() { string s2 = "[divider]" + "A[divider][divider]" + "B[divider][divider][divider]" + "C[divider][divider]"; string[] stringSeparators = new string[] {"[divider]"}; string[] result; result = s2.Split(stringSeparators, StringSplitOptions.None); Show(result); } public static void Show(string[] entries) { foreach (string entry in entries) { Console.WriteLine(entry); } } }
Split the original string at the delimiter and return all non-empty elements
using System; class Sample { public static void Main() { string s2 = "[divider]" + "A[divider][divider]" + "T[divider][divider][divider]" + "AA[divider][divider]"; string[] stringSeparators = new string[] {"[divider]"}; string[] result; result = s2.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); Show(result); } public static void Show(string[] entries) { foreach (string entry in entries) { Console.WriteLine(entry); } } }
Split a string delimited by another string and return 2 elements
using System; class Sample { public static void Main() { string s2 = "[divider]" + "A[divider][divider]" + "C[divider][divider][divider]" + "S[divider][divider]"; string[] stringSeparators = new string[] {"[divider]"}; string[] result; result = s2.Split(stringSeparators, 2, StringSplitOptions.None); Show(result); } public static void Show(string[] entries) { foreach (string entry in entries) { Console.WriteLine(entry); } } }
Split a string delimited by another string and return 2 non-empty elements
using System; class Sample { public static void Main() { string s2 = "[divider]" + "A[divider][divider]" + "B[divider][divider][divider]" + "C[divider][divider]"; string[] stringSeparators = new string[] {"[divider]"}; string[] result; result = s2.Split(stringSeparators, 2, StringSplitOptions.RemoveEmptyEntries); Show(result); } public static void Show(string[] entries) { foreach (string entry in entries) { Console.WriteLine(entry); } } }
Char String foreach
using System; public class StringSplitForeach { public static void Main() { string s = "Oh, I hadn't thought of that"; char[] separators = new char[] {' ', ','}; foreach (string sub in s.Split(separators)) { Console.WriteLine("Word: {0}", sub); } } }
Tokenize strings
/*
C#: The Complete Reference
by Herbert Schildt
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Tokenize strings.
using System;
public class TokenizeDemo {
public static void Main() {
string[] input = {
“100 + 19”,
“100 / 3.3”,
“-3 * 9”,
“100 – 87”
};
char[] seps = {' '};
for(int i=0; i < input.Length; i++) { // split string into parts string[] parts = input[i].Split(seps); Console.Write("Command: "); for(int j=0; j < parts.Length; j++) Console.Write(parts[j] + " "); Console.Write(", Result: "); double n = Double.Parse(parts[0]); double n2 = Double.Parse(parts[2]); switch(parts[1]) { case "+": Console.WriteLine(n + n2); break; case "-": Console.WriteLine(n - n2); break; case "*": Console.WriteLine(n * n2); break; case "/": Console.WriteLine(n / n2); break; } } } } [/csharp]