簡體   English   中英

按字符拆分字符串

[英]Split String by char Character

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

絕對很好。

但是我怎么能從中得到“安賈利”

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

轉義'字符:

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

我建議研究正則表達式(請參閱Regex類),以找到完成這些任務的更好方法。

您可以使用正則表達式執行此操作

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

我不能告訴,如果你想只是'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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM