webForumDet fria alternativet

Klippa ut från sträng

.NET

4 svar · 308 visningar · startad av PsyDonia

Medlem sedan maj 2003924 inlägg
Frågan#1

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 >>

Medlem sedan feb. 200520 inlägg
#2
' 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.

Medlem sedan maj 2003924 inlägg
#3

tack ska testa.

Medlem sedan nov. 20017 144 inlägg
#4

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, "")
Medlem sedan feb. 200520 inlägg
#5

Jesper T skrev:

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
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)