Dim str, objRegExp
str = "<table><tr><td>Så här kan det vara</td></tr></table>" _
& "Eller hur<BR>" _
& "kan gå<P>"
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.Pattern = "<[^>]*>"
objRegExp.Replace(str, "")
Set objRegExp = Nothing
Patternet är alltså <[^>]*> som matchar all HTML-kod som sen byts ut mot "". :)
Hej Eric. Tack det är en bra början.
Detta gjick inget vidare.
Jag fick bara ut taggarna :(
Jag ville ju ha ut det som stod mellan taggarna, utan att ta bort taggarna.
Jag fick till det till slut, men resultatet blev inte som jag ville.
Jag hadde tänkt mig att RegEx skulle söka en bit itaget, dvs där han hittade texten. Därefter kopiera över den texten till Text2 och slutligen replaca den textbiten som han har tittat.
Kolla här:
Vad jag skulle vilja är att INTE få med det som står mellan dubbelfnuttarna.
Om det finns mer än en < eller > eftervarandra så vill jag inte ha med det.
Kan man ordna det?
Nu kanske det är jag som är aningen trög, men skulle du kunna posta en textsnutt med det du vill söka, samt en textsnutt med resultatet, som du vill ha det?
Jo om du har läst hela detta inlägget, så det jag frågar efter hur man gör i RegEx, så att jag kan få fram det som står MELLAN taggarna i ett HTML/ASP dokument.
Om html-filen ser ut så här:
<table><tr><td>Så här kan det vara</td></tr></table>
Eller hur<BR>
kan gå<P>
så skall det i tekt2 sparas som (detta är fixat)
MultiLang_TEXT1 "Så här kan det vara "
MultiLang_TEXT2 "Eller hur"
MultiLang_TEXT3 "kan gå"
Då blir stycket i html (som måste byta namn till asp) till följande:
Med andra ord, all text som finns i HTML-dokumentet skall ersättas med asp-taggar. Texten skall flyttas över till text2.text, för att sparas som en språkfil.
Det är kanske lite svårt att förklara, men jag gör så gott jag kan.
Just nu så kör jag med denna pattern
oRE.Pattern = ">(.*?)<"
Den hittar bl a "= #06:00:00# AND Time " och det vill jag inte(inte något som står mellan fnuttarna.)
Ser det ut så här:
<BR>
Det tror vi inte på
<P>
så hittar han det inte
Hur ser koden ut nu? Det är kanske enklare att se en lösning om du visar en större portion. För mig låter som om du vill äta kakan och ha kakan kvar... :OO
Att plocka ut texten är inga bekymmer, men det verkar vara värre det du vill göra med den.
Visst kunde jag lägga upp all kod här, men det känns lite meningslöst.
Jag laddarförst upp en fil med CommonDialog1.
Därefter så kollar jag att det är en asp-fel, eller så renamar jag den till .asp.
Därefter så kollar jag upp att jag har tre variabler, en med hela
sökvägen, en med hela filnamnet en med filnamn utan extension.
Därefter så skapas två kataloger för senare användning.
Slutligen så skall det parsas:
Dim RegExp As RegExp
Dim oRE, oMatches As MatchCollection, oMatch, oSubMatch, MultiLang_Titel As String
Dim nCount, strText As String, strTexten As String, i As Integer
Set oRE = New RegExp
i = 1
oRE.Global = True
oRE.IgnoreCase = True
oRE.MultiLine = True
'TITLAR
oRE.Pattern = "<TITLE>(.*?)<\/TITLE>"
Set oMatches = oRE.Execute(Text1.text)
For Each oMatch In oMatches
For Each oSubMatch In oMatch.SubMatches
Text2.text = "MultiLang_Titel" & vbTab & Chr(34) & Replace(oSubMatch, vbCrLf, "") & Chr(34) & vbCrLf
Text1.text = Replace(Text1.text, oSubMatch, "<TITLE><%= MultiLang_Titel %></TITLE>")
Next
Next
'resten
oRE.Global = True
Dim astrText() As String, j As Integer
oRE.Pattern = "<[^>]*>"
strText = oRE.Replace(Text1.text, "@@") ' @@ för att det knappast förekommer i HTML
astrText = Split(strText, "@@")
For j = 0 To UBound(astrText) - 1
If Len(astrText(j)) > 0 Then
Text2.text = Text2.text & "MultiLang_TEXT" & (j + 1) & vbTab & Chr(34) & Tecken(astrText(j)) & Chr(34) & vbCrLf
Text1.text = Replace(Text1.text, astrText(j), "<%= MultiLang_TEXT" & j & " %>")
j = j + 1
End If
Next
Text2.SetFocus
Text2.SelStart = Len(Text2.text)
Set oRE = Nothing
Så här ser hela subben ut. Som du ser så är det nu i två steg,
men fungerar det som du har tänkt dig, så skall ju första steget
bort.
267 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9