webForumDet fria alternativet

reg exp, byta ut tecken

ASP

2 svar · 256 visningar · startad av mrblonde

Medlem sedan aug. 20012 349 inlägg
Frågan#1

jag behöver en function som med hjälp av ett reguljärt uttryck byter ut ett tecken på en viss position mot ett annat.

i vb skall det vara med.

typ

function switch(string, pos, char)

'do funky reg exp
'return string with new char

end function

någon som kan hjälpa mig?

[r] - jag vet hur man gör vanligtvis med mid och left och konkatenering, men jag vill veta med reg exp[/r]

Medlem sedan dec. 200012 464 inlägg
#2

Regexp är inte lämpligt för den typen av byten, det är mycket enklare och effektivare med replace och mid.

function repl(string,pos,char)
if  len(string) >= pos then
set r = new regexp
r.pattern = "^(.{" & pos-1 & "," & pos-1 & "})" & "(.)" & "(.*)$"
repl = r.replace(string,"$1" & char & "$3")
else
repl = string
end if
end function
Medlem sedan aug. 20012 349 inlägg
#3

tack, funka bra :)

men verkar inte vara så effektivt nej.

295 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
163 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)