Avatar billede mikkel_breum Nybegynder
28. marts 2001 - 22:20 Der er 3 kommentarer og
1 løsning

søgning i tekststreng med lingo

hejsa

er der en som kan fortælle mig hvordan jeg kan søge enter en streng i en tekststreng med lingo?

Jeg kan godt søge efter ord, hvis de er adskilt med mellemrum, så jeg kan fx finde ordet \"gule\" i sætningen \"den gule bus\" og erstatte det med \"røde\", men jeg skal kunne finde og erstatte fx: \"aa\" i \"maaneder\" med \"å\" så \"maaneder\" bliver til \"måneder\"

how ??
Avatar billede kanding Nybegynder
29. marts 2001 - 10:31 #1
Hele humlen ligger jo i at du ikke skal erstatte et ord med et ord eller et bogstav med et bogstav.
Prøv denne her:

on replace _text, _old, _new
  word_to_replace = offset(_old, _text)
 
  if word_to_replace > 0 then
    numChars = _old.char.count
   
    if numChars > 1 then
      repeat with r = 1 to numChars - 1
        delete _text.char[word_to_replace]
      end repeat
    end if
   
    put _new into _text.char[word_to_replace]
    return _text
  else
    return _text
  end if
  end
Du kalder den sådan her

replace(\"maaneder\", \"aa\", \"å\")
Det første parameter er teksten eller ordet, det næste er det som skal erstattes og ddet sidste er det som der skal erstattes med

Avatar billede mikkel_breum Nybegynder
29. marts 2001 - 14:33 #2
Jamen det fungerer jo helt perfekt !! :)

VIGTIGT: til alle der evt. kopierer kode til Mac:
Kode kopieret fra experten fungerer ofte ikke når den copy/pastes til Mac. Det gælder både php og dette lingo script... problemet er, at der for hvert mellemrum også kommer en eller anden usynlig karakter med.

LØSNING:
1) paste i fx. BBEdit
2) show invisible characters
3) show spaces

slet alle de mellemrum i teksten, som ikke bliver markeret med \"space symbolet\" (brug søg/erstat)
Avatar billede mikkel_breum Nybegynder
29. marts 2001 - 14:42 #3
Mellemrum har ASCII værdi 32 og escape kode %20

når tekst kopieres fra eksperten består nogle mellemrum tilsyneladende af to ASCII koder:
202 32  (escape %CA%20).

Det er kun mellemrum at begyndelsen af linierne der har dette problem, så måske kommer det af en slags \"tab\"

jeg skriver lige om problemet til eksperten.
Avatar billede mikkel_breum Nybegynder
14. maj 2001 - 20:12 #4
--- Test test ---

foo() {

    if x=y then
      repeat with i = 1 to 2
        beep
      end repeat
    end if
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester