![](/img/trans.png)
[英]How to sort an array based on the occurrences of the elements in a string in C#?
[英]How to sort string based on substring with C#?
我有一個字符串
string myStr = "*20@Apple#*10@Banana#*-5@Orange#*8@Cherries#";
我想要一個僅包含此字符串中的水果名稱的數組,但應根據與其關聯的值對其進行排序。
例如,在這個字符串中
Apple => 20
Banana => 10
Orange => -5
Cherries => 8
我想要這個數組作為結果
橙子、櫻桃、香蕉、蘋果
謝謝你!
var input = "*20@Apple#*10@Banana#*-5@Orange#*8@Cherries#";
var result = input
.Split(new []{'#','*' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Split('@'))
.Select(x => (Rank : int.Parse(x[0]), Value : x[1]))
.OrderBy(x => x.Rank)
.Select(x => x.Value)
.ToArray();
Console.WriteLine(string.Join(", ",result));
Output
Orange, Cherries, Banana, Apple
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.