我想.NET實施LINQ以下算法(C#優選):如何使用LINQ通過元音處理字符串列表?
輸入是任意字符串。字符串的第一個字符保證是元音字母。例如。
"alkjihgefdcb"
將字符串分解爲由元音分隔的塊。例如。
"alkj"
,"ihg"
,"efdcb"
按字母順序對每個塊進行排序。例如。
"ajkl"
,"ghi"
,"bcdef"
將塊加回到一起以產生輸出字符串。例如。
"ajklghibcdef"
有一種優雅的(即純粹的功能)的方式來做到這一點?第3步和第4步很容易,但我很難步驟2,這似乎需要與SelectMany相反的東西。謝謝。
編輯:我很欣賞正則表達式的解決方案,但我正在尋找一種純粹基於LINQ的方法。在我的實際應用中,這些字符串是域對象的列表,所以正則表達式不太適用。
你介意一個額外的擴展方法嗎?如果沒有,請查看我的答案。 –
你打算如何處理這樣一個事實,即「y」可以根據上下文有條件地成爲元音?假裝永遠是,假裝永遠不會,或者試圖根據非單詞的背景來判斷? – Servy