Välilyöntien korvaus

[vastaus aiempaan viestiin]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 2.3.2005 16:34

Palaan eilisessä viestissäni esittämääni Petri Palmun kysymykseen:

> Onko olemassa tapaa, jolla saisi korvattua vain merkkijonojen välissä
> olevat välilyönnit?

Tässä on po. toimenpiteen tekevän sukron SP_REPL listaus muodossa,
johon päädyttiin seminaaritilaisuuden keskustelussa:

*TUTSAVE SP_REPL
/ /SP_REPL korvaa sanojen välit alaviivamerkeillä _
/          ensimmäiseen tyhjään riviin asti.
*{tempo -1}{init}
+ A: {R}
*{save line W1}
- if W1 '=' {} then goto E
+ B: {save line W1}
- if W1 '=' {} then goto A
*{save char W1}
- if W1 '<>' {sp} then goto C
*_{goto B}
+ C: {r}{goto B}
+ E: {end}

Eli kun aktivoidaan
/SP_REPL
Aamu on iltaa viisampi.
Ahkeruus on ilomme.
Aika parantaa haavat.
Alku aina hankalaa, lopussa kiitos seisoo.
Ei auta itku markkinoilla.

saadaan:
/SP_REPL
Aamu_on_iltaa_viisampi.
Ahkeruus_on_ilomme.
Aika_parantaa_haavat.
Alku_aina_hankalaa,_lopussa_kiitos_seisoo.
Ei_auta_itku_markkinoilla.

Osoittautui, että tämänkaltainen tehtävä on tullut vastaan useallekin
survoilijalle ja ovat selvinneet siitä ilman sukroa.
Marjut Schreckin tarjoama kolmen REPLACE:n yhdistelmä on todella
ovela:

*REPLACE "  ","##",C / LINES=A+1,A+5
*REPLACE " ","_",C
*REPLACE "#"," ",C
A
*Aamu on iltaa viisampi.
*Ahkeruus on ilomme.
*Aika parantaa haavat.
*Alku aina hankalaa, lopussa kiitos seisoo.
*Ei auta itku markkinoilla.

....................................................................
Oma ehdotukseni oli seuraava: (Olkoon kentän koko 1000*100)

*REPLACE " ","_",C  / LINES=B+1,B+5
*REDIM 1000,101      / jotta saadaan joka rivin loppuun blanko
*REPLACE "_ "," ",C  / Tämä toistuvasti aktivoituna
*REDIM 1000,100      / Kentän koon palautus
*
*Siis jälkimmästä REPLACEa aktivoidaan (nojaamalla jatkuvasti
*ESC-nappiin) kunnes alaviivahännät riveiltä katoavat.
*
B
*Aamu on iltaa viisampi.
*Ahkeruus on ilomme.
*Aika parantaa haavat.
*Alku aina hankalaa, lopussa kiitos seisoo.
*Ei auta itku markkinoilla.
*

Tämän tyhmemmän ratkaisun pienenä etuna on, että se osaa korvata myös
mahdolliset peräkkäiset välilyönnit, kuten myös /SP_REPL tekee.

-Seppo

Vastaukset:
[ei vastauksia]

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.