/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Case insensitive replace med sideeffekt
Fra : Martin Orvad


Dato : 07-04-04 23:05

I må meget undskylde sproget i følgende indlæg, men i sagens natur håber
jeg det er tilgiveligt

Jeg er i gang med at lave et forum for en kunde.

Jeg har lavet en case insensitive replace sådan her:

strMsg = Replace(strMsg, "pik", "is", 1, -1, vbTextCompare)

....og det fungerer jo fint nok, da en sætning som fx. "Jeg har en stor
PiK" jo naturligvis bliver til "Jeg har en stor is", men (også
naturligvis) giver det et problem hvis inputstrengen er fx. "Der er
masser af harpiks". Så bliver det jo til "Der er masser af hariss".
(Find selv på flere...).

Er der nogen der har et løsningsforslag, må man bare leve med det, eller
bør jeg helt lade være med at bytte hele ord ud i strengen?
Er der nogen her der på stående fod ved hvordan de store etablerede fora
gør?

Og endnu en gang undskyld sproget.

--
Martin Orvad

 
 
Jakob Andersen (07-04-2004)
Kommentar
Fra : Jakob Andersen


Dato : 07-04-04 23:39

Martin Orvad wrote:
> Er der nogen der har et løsningsforslag, må man bare leve med det,
> eller bør jeg helt lade være med at bytte hele ord ud i strengen?
> Er der nogen her der på stående fod ved hvordan de store etablerede
> fora gør?

Regular Expressions, f..eks. en funktion som nedenstående:

Function FjernKat(str)
Set objRegEx = New RegExp
objRegEx.Pattern = "(\s+)kat(\s+)"
objRegEx.IgnoreCase = True
objRegEx.MultiLine = True
objRegEx.Global = True
FjernKat = objRegEx.Replace(str, "$1is$2")
End Function


Et kald til denne som:

FjernKat("Min KaT har mange kattehår")

Vil f.eks. returnere strengen "Min is har mange kattehår"



--
Jakob Andersen



Martin Orvad (08-04-2004)
Kommentar
Fra : Martin Orvad


Dato : 08-04-04 01:37

Jakob Andersen wrote:

> Martin Orvad wrote:
>
>>Er der nogen der har et løsningsforslag, må man bare leve med det,
>>eller bør jeg helt lade være med at bytte hele ord ud i strengen?
>>Er der nogen her der på stående fod ved hvordan de store etablerede
>>fora gør?
>
>
> Regular Expressions, f..eks. en funktion som nedenstående:
[...]

Selvfølgelig! Tusind tak for det.

--
Martin Orvad

Jan Vinten (08-04-2004)
Kommentar
Fra : Jan Vinten


Dato : 08-04-04 09:19

Hej Martin,

Alternativt kunne du også lave det på en lidt mere "ufin" måde:

strMsg = Replace(strMsg, " pik ", " is ", 1, -1, vbTextCompare)

Altså lave et mellemrum før og efter ordet du vil have udskiftet!

/ Jan

"Martin Orvad" <news@orvad.invalid> wrote in message
news:c526s7$6jv$1@sunsite.dk...
> Jakob Andersen wrote:
>
> > Martin Orvad wrote:
> >
> >>Er der nogen der har et løsningsforslag, må man bare leve med det,
> >>eller bør jeg helt lade være med at bytte hele ord ud i strengen?
> >>Er der nogen her der på stående fod ved hvordan de store etablerede
> >>fora gør?
> >
> >
> > Regular Expressions, f..eks. en funktion som nedenstående:
> [...]
>
> Selvfølgelig! Tusind tak for det.
>
> --
> Martin Orvad



Jens Gyldenkærne Cla~ (08-04-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-04-04 09:26

Jan Vinten skrev:

> strMsg = Replace(strMsg, " pik ", " is ", 1, -1, vbTextCompare)
>
> Altså lave et mellemrum før og efter ordet du vil have udskiftet!

Det giver bare problemer hvis ordet står først eller sidst i en
sætning, eller hvis det er tegnsætningstegn indblandet.

NB: Det er svært at se hvad du svarer på når du svarer oven over
det du citerer. Læs gerne min signatur.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Orvad (08-04-2004)
Kommentar
Fra : Martin Orvad


Dato : 08-04-04 12:02

Jens Gyldenkærne Clausen wrote:

>>strMsg = Replace(strMsg, " pik ", " is ", 1, -1, vbTextCompare)
>>
>>Altså lave et mellemrum før og efter ordet du vil have udskiftet!
>
>
> Det giver bare problemer hvis ordet står først eller sidst i en
> sætning, eller hvis det er tegnsætningstegn indblandet.

....og nu har jeg prøvet forskellige løsninger og kombinationer af disse,
men uanset hvordan man gør, så kan det jo omgås.

Jeg har nu besluttet, at det vil kræve uhensigtsmæssigt meget
"slave-scripting" før man har bare en lille procentdel af de tilfælde af
et ord med, man ikke vil have i sit forum.

Det er i alle tilfælde nemmere bare at skrive man gerne vil have en
sober tone i debatten, og derefter tro på det gode i mennesket... (Og
_det_ kan man jo nok ikke scripte sig ud af).

Men for forsøgets skyld var det da meget skægt.

Tak for jeres input.

--
Martin Orvad

Lars Hoffmann (08-04-2004)
Kommentar
Fra : Lars Hoffmann


Dato : 08-04-04 23:03

Martin Orvad escribió / skrev

> Det er i alle tilfælde nemmere bare at skrive man gerne vil have
> en sober tone i debatten, og derefter tro på det gode i
> mennesket... (Og _det_ kan man jo nok ikke scripte sig ud af).

DELETE * FROM users WHERE good_intention IS NULL


--
Publica fotos de tu Cine en Casa en
http://www.intercambiodvd.com/CineEnCasa

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste