|
| Finde det første tegn, der ikke er et bogs~ Fra : Stefan Kristensen |
Dato : 25-08-04 15:02 |
|
Hej NG.
Kan det virkelig passe at VB 6.0 ikke har en IsChar funktion? I .NET kan man
bruge In funktionen, men den findes ikke i 6.0.
Jeg skal i en streng finde nogle koder der starter med et '&' tegn. Koden
slutter med det sidste tegn efter '&' tegnet der ikke er et bogstav. F.eks.
skal der i "tekst &kode1. &ko de278 & pladder" findes koderne "&kode1" og
"&ko". Der bruges ikke nationale karakterer som æ, ø og å; kun a-z.
Nogle ideer?
mvh
Stefan
| |
Lars Holm Jensen (25-08-2004)
| Kommentar Fra : Lars Holm Jensen |
Dato : 25-08-04 15:36 |
|
> Kan det virkelig passe at VB 6.0 ikke har en IsChar funktion? I .NET kan
> man
> bruge In funktionen, men den findes ikke i 6.0.
> Jeg skal i en streng finde nogle koder der starter med et '&' tegn. Koden
> slutter med det sidste tegn efter '&' tegnet der ikke er et bogstav.
> F.eks.
> skal der i "tekst &kode1. &ko de278 & pladder" findes koderne "&kode1" og
> "&ko". Der bruges ikke nationale karakterer som æ, ø og å; kun a-z.
| |
Lars Holm Jensen (25-08-2004)
| Kommentar Fra : Lars Holm Jensen |
Dato : 25-08-04 15:46 |
|
> Kan det virkelig passe at VB 6.0 ikke har en IsChar funktion? I .NET kan
> man
> bruge In funktionen, men den findes ikke i 6.0.
> Jeg skal i en streng finde nogle koder der starter med et '&' tegn. Koden
> slutter med det sidste tegn efter '&' tegnet der ikke er et bogstav.
> F.eks.
> skal der i "tekst &kode1. &ko de278 & pladder" findes koderne "&kode1" og
> "&ko". Der bruges ikke nationale karakterer som æ, ø og å; kun a-z.
Hvad med at bruge isNumeric..
mypos = InStr(text, "%") 'Look for % characters
Do While mypos > 0
endpos = 0
Do
endpos = endpos + 1
Loop While IsNumeric(Mid$(text, mypos + endpos, 1))
code = Mid$(text, mypos + 1, endpos - 1)
mypos = InStr(mypos + 1, text, "%") 'Find next %, from mypos + 1 and
forward,
Loop
/Lars
| |
Tomas Christiansen (25-08-2004)
| Kommentar Fra : Tomas Christiansen |
Dato : 25-08-04 19:54 |
|
Stefan Kristensen skrev.
> Jeg skal i en streng finde nogle koder der starter med et '&' tegn. Koden
> slutter med det sidste tegn efter '&' tegnet der ikke er et bogstav.
Prøv at kigge på sammenligningsoperatoren Like.
Der har du mulighed for at angive klasser af tegn, f.eks. [a-z] og visse
begrænsede muligheder for wildcards.
Alternativt kan du i en Case-sætning angive f.eks. Case "a" To "z".
Der er naturligvis også muligheden at sammenligne med StrComp eller
sammenligne direkte, f.eks:
If LCase(noget) >= "a" Or LCase(noget) <= "z" Then
-------
Tomas
| |
Tomas Christiansen (25-08-2004)
| Kommentar Fra : Tomas Christiansen |
Dato : 25-08-04 20:23 |
|
Tomas Christiansen skrev:
> ...f.eks. [a-z] ...
> ...Case "a" To "z".
> If LCase(noget) >= "a" Or LCase(noget) <= "z" Then
Jeg håber at du har bemærket at det ikke er færdige løsnniger, jeg har givet
dig, men inspiration til at kunne finde din egen løsning.
Der kom lige en idé mere.
Prøv at tilføje en reference til "Microsoft VBScript Regular Expressions" i
dit VB projekt, og prøv følgende kode:
Dim s As String
Dim x As RegExp
Dim m As Match
s = "&var1 f iofje oi &2 deu de &tredie. feij de"
Set x = New RegExp
x.Global = True
x.IgnoreCase = True
x.Pattern = "&\w+"
For Each m In x.Execute(s)
MsgBox "Match: <" & m.Value & ">"
Next
-------
Tomas
| |
Tomas Christiansen (25-08-2004)
| Kommentar Fra : Tomas Christiansen |
Dato : 25-08-04 20:33 |
| | |
Stefan Kristensen (26-08-2004)
| Kommentar Fra : Stefan Kristensen |
Dato : 26-08-04 15:07 |
|
Jeg kan åbenbart ikke poste her i gruppen inde fra arbejdet, så i får først
min tak nu
Tomas: RegExp har altid virket lidt overvældende, men dit eksempel er jo
ganske enkelt og det var faktisk lige det, jeg skulle bruge.
c",)
Stefan
| |
Tomas Christiansen (26-08-2004)
| Kommentar Fra : Tomas Christiansen |
Dato : 26-08-04 20:28 |
|
Stefan Kristensen skrev:
> Tomas: RegExp har altid virket lidt overvældende, men dit eksempel er jo
> ganske enkelt og det var faktisk lige det, jeg skulle bruge.
Bemærk blot at mit eksempel også accepterer _ som en alfanumerisk tegn som
er acceptabelt i acceptable navne (med fuld accept ).
-------
Tomas
| |
Stefan Kristensen (27-08-2004)
| Kommentar Fra : Stefan Kristensen |
Dato : 27-08-04 11:25 |
|
> > Tomas: RegExp har altid virket lidt overvældende, men dit eksempel er jo
> > ganske enkelt og det var faktisk lige det, jeg skulle bruge.
>
> Bemærk blot at mit eksempel også accepterer _ som en alfanumerisk tegn som
> er acceptabelt i acceptable navne (med fuld accept ).
Jeg accepterer at dit acceptable eksempel accepterer _
Jeg så godt at definitionen fo +w inkluderer _, men jeg skal lige se lidt
næreme på syntaxen for at definere det selv uden _.
c",)
Stefan
| |
|
|