Regular expression hjälp
Tjena.
Jag har aldrig hållit på med regex expressions men nu måste jag hitta en expression som gör följande.
Jag ska hitta alla substrängar i en jättesträng
ex. jättesträng: <146{000000000000000<155{34343434343434334343434343434<163{3434344 osv.
som ni ser i mönstret så lagras ett ID nummer mellan "<" och "{" sedan följer ett löpnummer som kan vara hur lång som helst. Eftersom jag endast känner till ID numret och vill tabort "<155{xxx" från ovan sträng.
Någon som har något tips om vart jag hittar en bra källa av exempel eller om någon sitter inne med bra kunskaper?
//Danne
Svara
Sv: Regular expression hjälp
Alltså, vad vill du egentligen åstadkomma?
Vill du ha ut löpnumret eller ta bort ett specifikt ID och löpnummer?
För att radera ett specifikt kan du göra följande:
<code>
Dim id As Integer = 155
Dim medString As String = "<146{000000000000000<155{34343434343434334343434343434<163{3434344"
Dim utanString As String = Regex.Replace("<" + id.ToString() + "\{\d+", "", med)
</code>
Svara
Sv: Regular expression hjälp
Om du vill gå igenom alla så är här ett exempel:
1 2 3 4 5 6 7 8 9 10 | Imports System.Text.RegularExpressions Dim text As String = "<146{000000000000000<155{34343434343434334343434343434<163{3434344" Dim re As New Regex( "<([^<]+){([^<]+)" ) For Each m As Match In re.Matches(text) MsgBox( "Match: " + m.Value) MsgBox( "ID: " + m.Groups(1).Value) MsgBox( "Löpnummer: " + m.Groups(2).Value) Next |
Svara
Sv:Regular expression hjälp
Tackar, det fungerade perfekt. Hittade även http://www.regular-expressions.info/reference.html där man kan lära sig en del.
//Danne
Svara
Sv: Regular expression hjälp
Kul att det fungerade!
Ja, http://www.regular-expressions.info är en väldigt bra referens som jag varmt rekommenderar!
Svara