由char字符拆分字符串

时间:2015-07-17 17:18:59

标签: c# string

String stringToSplit = "hello#World#How#Are#You";
string[] tokens = stringToSplit.Split('#');

这绝对没问题。

但我如何从这个

获得“Anjali”
String stringToSplit = "hello 'Anjali', How Are You";
string[] tokens = stringToSplit.Split(' '); // What to put Here as it doesnt take ' character

3 个答案:

答案 0 :(得分:4)

转义'字符:

string[] tokens = stringToSplit.Split('\'');

我建议查看正则表达式(请参阅Regex类)以获得完成这些任务的更好方法。

答案 1 :(得分:2)

您可以使用正则表达式执行此操作

var tokens = Regex.Split(stringToSplit, @"'", RegexOptions.None);

答案 2 :(得分:0)

我不知道你是否只想要'Anjali',或者你希望'Anjali'成为分裂的一部分。

所以这是一种方法,使用Regex.Match()来获取单引号中的字符串,并使用Regex.Split(),其中单引号中的字符串将是数组结果中的元素。

String stringToSplit = "hello 'Anjali', How Are You?  My name is 'John'";

Console.WriteLine("Regex.Match()");
for (Match match = Regex.Match(stringToSplit, "'(.*?)'"); match.Success; match = match.NextMatch())
{
    Console.WriteLine(match.Groups[1]);    
}
Console.WriteLine();

Console.WriteLine("Regex.Split()");
string[] tokens = Regex.Split(stringToSplit, "'(.*?)'");
foreach (string token in tokens)
{
    Console.WriteLine(token);
}

结果:

Regex.Match()
Anjali
John

Regex.Split()
hello
Anjali
, How Are You?  My name is
John