.NET LINQ (C# 推奨) で次のアルゴリズムを実装したいと思います。
入力は任意の文字列です。文字列の最初の文字は母音であることが保証されています。例えば
"alkjihgefdcb"
文字列を母音で区切られたチャンクに分割します。例
"alkj"
,"ihg"
,"efdcb"
各チャンクをアルファベット順に並べ替えます。例
"ajkl"
,"ghi"
,"bcdef"
出力文字列を生成するために、チャンクを再び結合します。例えば
"ajklghibcdef"
これを行うエレガントな(つまり、純粋に機能的な)方法はありますか?ステップ 3 と 4 は簡単ですが、ステップ 2 には困惑しています。ありがとう。
編集:正規表現ソリューションには感謝していますが、純粋に LINQ ベースのアプローチを探しています。私の実際のアプリケーションでは、文字列はドメイン オブジェクトのリストであるため、正規表現は簡単には適用できません。