簡體   English   中英

分割數組並獲取每個索引的最后一個值

[英]split array and get last value of each index

我有一個看起來像這樣的字符串

string sortOrder= "download-15104,download-15103,download-15105,download-15106,download-15107,download-16104,download-16105";

我只想要身份證。 所以,我做到了

var ids= new List<int>();
var sortOrderArray = sortOrder.Split(',');
foreach (var item in sortOrderArray)
{
    var obj = item.Split('-');
    ids.Add(int.Parse(obj[1]));
}

還有其他方法可以做到這一點並且快速做到嗎?

您可以使用LINQ:

var ids = input.Split(',').Select(x => int.Parse(x.Split('0')[1])).ToList();

但是, 它不會更快 無論如何,它在內部使用循環。 它可能更具可讀性。

var ids=Regex.Matches(sortOrder,@"\d+(?=,|$)")
             .Cast<Match>()
             .Select(m=>int.Parse(m.Value));

暫無
暫無

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

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