簡體   English   中英

C#用多個分隔符分割字符串

[英]C# split string with multiple separators

字符串:

string one = @"first%second";
string two = @"first%second%third";
string three = @"first%second%third%fourth";

我需要能夠將第一個 '%' 分隔符之后的所有內容分開。 我通常會使用拆分功能:

string partofstring = one.Split('%').Last();

或者

string partofstring = one.Split('%').[1];

但是我需要能夠獲得:

string oneresult = @"second";
string tworesult = @"second%third";
string threresult = @"second%third%fourth";

string.Split 有一個重載,允許您指定要返回的拆分數量。 指定 2 作為分割數,您將獲得一個數組,其中索引 0 處的元素可以丟棄,而索引 1 處的元素正是請求的輸出

string three = @"first%second%third%fourth";
var result = three.Split(new char[] {'%'}, 2);
Console.WriteLine(result[1]); // ==> second%third%fourth

嘗試這個

string partofstring = one.SubString(one.IndexOf('%'));

String.SubString返回從指定位置開始到字符串末尾的字符串。

String.IndexOf返回字符串中指定字符的第一個索引。

要么使用string.Split的不同重載,它允許您指定最大項目數:

var newString = myString.Split('%', 2)[1];

請注意,如果您使用 .NET Framework,則需要使用不同的重載:

var newString = three.Split(new[] { '%'}, 2)[1];

或者,使用IndexOfSubstring自己計算:

var newString = myString.Substring(myString.IndexOf('%') + 1);

我改進了@Preciousbetine 給出的代碼片段

var partofstring = two.IndexOf('%') < 0 ? string.Empty : two.Substring(two.IndexOf('%') + 1);

這將檢查字符串是否不包含鍵 %。

暫無
暫無

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

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