有一種方法可以反轉RegEx.MatchCollection的項目嗎?反向RegEx MatchCollection項目?
例如,如果一個MatchCollection包含那些比賽:
a1
a2
a3
然後我想扭轉收集項目,使項目索引會在別的這樣的:
a3
a2
a1
...保留他們的比賽索引和其他匹配信息作爲長度,組等。
有一種方法可以反轉RegEx.MatchCollection的項目嗎?反向RegEx MatchCollection項目?
例如,如果一個MatchCollection包含那些比賽:
a1
a2
a3
然後我想扭轉收集項目,使項目索引會在別的這樣的:
a3
a2
a1
...保留他們的比賽索引和其他匹配信息作爲長度,組等。
不完全是MatchCollection
,而是IEnumerable<Match>
myMatchCollection.Cast<Match>().Reverse()
不錯,可能。
謝謝,但我對IEnumerables並沒有多少經驗,我需要將反向者轉換爲其他類型?我如何做到這一點,然後檢索匹配信息?,試圖使用IEnumerable使用LINQ MatchFollection,但'Match'和'Matchcollection'沒有'New'構造函數,所以像這樣的東西不能工作:匹配= matches.Cast(Of Match)()。Reverse()。Select(Function(m)New Match(m)) – ElektroStudios
哎喲,謝謝你的時間,我已經做了一個數組,並且所有的作品都很好:Dim var = matches.Cast(Of Match)()。Reverse()。ToArray MsgBox(var.First.Groups(0).Value) – ElektroStudios
VB.NET版本:
Imports System.Text.RegularExpressions
Dim matches() As Match = Regex.Matches("ABCDA", "A").Cast(Of Match).Reverse().ToArray()
MsgBox(matches.First.Index) ' Result: 4
它需要是另一個'MatchCollection'或者你可以抓住'Matches'和扭轉他們,e.g ,. 'var reversed = matches.Cast().Reverse();' –
@ sa_ddam213感謝評論,對於反向Ienumerable還不夠我還是輸了,我覺得無所謂集合的類型,而我仍然可以檢索項目我需要的信息,但我不確定,你是專家,再次感謝。 – ElektroStudios