|
| Forkorte String Fra : Tim Sørensen |
Dato : 12-02-03 10:30 |
|
Lad os antage at jeg har denne String:
"hsghsgdfksdgsd Dette skal bruges flkgdfgfd"
Den tekst der står før og efter "Dette skal bruges" kender jeg ikke.
Hvordan kan jeg formattere den så der kun er "Dette skal bruges" tilbage?
--
Mvh.... Tim Sørensen
http://www.dondata.dk/
| |
Tomas Christiansen (12-02-2003)
| Kommentar Fra : Tomas Christiansen |
Dato : 12-02-03 11:44 |
|
Tim Sørensen skrev:
> Lad os antage at jeg har denne String:
> "hsghsgdfksdgsd Dette skal bruges flkgdfgfd"
>
> Den tekst der står før og efter "Dette skal bruges" kender jeg ikke.
> Hvordan kan jeg formattere den så der kun er "Dette skal bruges"
tilbage?
Jeg forstår ikke helt spørgsmålet.
Hvis du allerede kender hele strengen "Dette skal bruges", hvorfor så
ikke blot bruge denne streng og glemme alt om "hsghsgdfksdgsd Dette skal
bruges flkgdfgfd"?
Hvis du vil søge efter noget kendt, kan du søge med InStr og InStrRev.
Derefter kan du bruge Left, Mid og Right til at pille det ud som ønsker
at bruge/ikke bruge.
-------
Tomas
| |
Tim Sørensen (12-02-2003)
| Kommentar Fra : Tim Sørensen |
Dato : 12-02-03 13:56 |
|
"Tomas Christiansen" <toc-nospam-01@blikroer.dk> wrote
> Jeg forstår ikke helt spørgsmålet.
> Hvis du allerede kender hele strengen "Dette skal bruges", hvorfor så
> ikke blot bruge denne streng og glemme alt om "hsghsgdfksdgsd Dette skal
> bruges flkgdfgfd"?
Nemlig.
Men problemet er at "Dette skal bruges" ligesågodt kan være "Dette skal også
bruges"
Det som jeg gerne vil,er at flerne alt det der står uden om "Dette" og
"Bruges"
--
Mvh.... Tim Sørensen
http://www.dondata.dk/
| |
Tomas Christiansen (12-02-2003)
| Kommentar Fra : Tomas Christiansen |
Dato : 12-02-03 16:30 |
|
Tim Sørensen skrev:
> Det som jeg gerne vil,er at flerne alt det der står uden om "Dette"
og
> "Bruges"
Dvs. noget i retning af:
Dim sTekstInd As String, sTekstUd As String
Dim sStart As String, lStart As Long
Dim sSlut As String, lSlut As Long
sTekstInd = "deifiu Dette euh bruges ipj"
sStart = "dette"
sSlut = "bruges"
lStart = InStr(1, sTekstInd, sStart, vbTextCompare)
lSlut = InStrRev(sTekstInd, sSlut, -1, vbTextCompare)
sTekstUd = Mid(sTekstInd, lStart, lSlut - lStart + Len(sSlut))
Debug.Print ">" & sTekstUd & "<"
-------
Tomas
| |
Tim Sørensen (13-02-2003)
| Kommentar Fra : Tim Sørensen |
Dato : 13-02-03 09:08 |
|
"Tomas Christiansen" <toc-nospam-01@blikroer.dk> wrote
> Dvs. noget i retning af:
>
> Dim sTekstInd As String, sTekstUd As String
> Dim sStart As String, lStart As Long
> Dim sSlut As String, lSlut As Long
> sTekstInd = "deifiu Dette euh bruges ipj"
> sStart = "dette"
> sSlut = "bruges"
> lStart = InStr(1, sTekstInd, sStart, vbTextCompare)
> lSlut = InStrRev(sTekstInd, sSlut, -1, vbTextCompare)
> sTekstUd = Mid(sTekstInd, lStart, lSlut - lStart + Len(sSlut))
> Debug.Print ">" & sTekstUd & "<"
Ja lige præcis!
Genial kode
--
Mvh.... Tim Sørensen
http://www.dondata.dk/
| |
Birk (19-02-2003)
| Kommentar Fra : Birk |
Dato : 19-02-03 21:32 |
|
Hvis det skulle blive mere kompliceret, ville det være smart at bruge
regular expression i stedet .. men selvf. så skulle der jo helst være
lidt systematik over det
| |
Tim Sørensen (20-02-2003)
| Kommentar Fra : Tim Sørensen |
Dato : 20-02-03 09:24 |
|
"Birk" <-REMOVE-birk@rock-zone.dk> wrote
> Hvis det skulle blive mere kompliceret, ville det være smart at bruge
> regular expression i stedet .. men selvf. så skulle der jo helst være
> lidt systematik over det
Jeg ved godt at regular expressions er meget
hurtige, men jeg kan sgu ikke finde ud af at bruge dem :(
Hvis du kunne lave et lille eksempel ville det være cool
--
Mvh.... Tim Sørensen
56º 24'209 N / 10º 55'631 E
| |
Birk (20-02-2003)
| Kommentar Fra : Birk |
Dato : 20-02-03 11:58 |
|
De er skam ikke hurtigere, eller jo det er de måske, men jeg testede dem
mod en hjemmelavet "instr" kode, og instr koden var hurtigere.
Jeg brugte den her side, til at læse lidt om regex:
http://www.cs.utah.edu/dept/old/texinfo/regex/regex_toc.html
Og så studerede jeg Psychostats (et stats program til Counter-Strike),
som er skrevet i Perl, så det var lidt svært at finde ud af i starten,
da jeg aldrig har brugt perl. Men så prøvede jeg mig ellers bare frem
der efter, hvis du vælger at studere Psychostats, burde du også få
fingerne i en Counter-Strike log fil, prøv at spørg på et counter-strike
forum, om der ikke er nogen der vil sende dig en Server Log.
Det tog mig en del tid, da jeg som sagt ikke kendte til Perl, men hvis
du kan finde en source code i VB der arbejder med regex, ville det
hjælpe meget.
- Birk
| |
Tim Sørensen (20-02-2003)
| Kommentar Fra : Tim Sørensen |
Dato : 20-02-03 14:24 |
| | |
|
|