jag vill klippa ut ett värde som är mellan två olika tecken.
ex.
Jag har en text
blablabla massa text massa text massa text
ännumera text och desto mera text
<< detta ska klippas ut >> sen har vi massa text till
blablabla massa text massa text massa text
ännumera text och desto mera text
<< detta ska också klippas ut >> sen har vi massa text till
jag vill att den ska gå igenom och klippa ut allt som är mellan << och >>
och adda det till en listbox.
det som ska klippas ut böjar alltid med << och ska sluta där det är >>
' Variabeln text innehåller texten du ska leta i
Dim startPos As Long, endPos As Long
Do
startPos = InStr(1, text, "<<")
If startPos > 0 Then
endPos = InStr(startPos, text, ">>")
If endPos > 0 Then
List1.AddItem Mid$(text, startPos + 2, startPos - endPos - 4)
Mid$(text, startPos, startPos - endPos) = ""
Else 'Om det inte finns något slut använder vi resten av strängen
List1.AddItem Mid$(text, startPos + 2)
Mid$(text, startPos, Len(text) - startPos) = ""
End If
Else
Exit Do
End If
Loop
Otestat! Det är mycket möjligt att du får ändra vissa siffror.
Varför inte använda VBScript.RegExp, med ett lämpligt pattern?
ex.
Dim regxp As Object
Set regxp = CreateObject("VBScript.RegExp")
regxp.IgnoreCase = True
regxp.Global = True
regxp.Pattern = "<<(.*?)>>"
Text1.Text = regxp.Replace(Text1.Text, "")
För att min kod inte kräver att man har någonting installerat och för att koden blir onödigt krånglig om hon ska lägga till det hon hittar i en lista också som hon faktiskt sa att hon ville. ;)
273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e