簡體   English   中英

如何使用 C# 基於 substring 對字符串進行排序?

[英]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.

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