Merkkien käsittely

ediävaipythonia

Hei,
Kyseessä linux.
Käytössä shell ja python, mieluiten shell.

Data on:
abbd
dbdb
adbd
babb

Miten voin toteuttaa tehokkaasti:
1. jokaiselta riviltä vain 2:detta ja 3:metta merkkiä tulee käsitellä
2. jos käsiteltävä merkki on b tulee se korvata merkillä _

Tällöin esimerkin datasta pitäsi saada:
a__d
d_db
ad_d
ba_b

Miten tämä,kiltit gurut kertokaa.

jos teen esim:
sed s/b/_/g
tämä ei toimi palauttaa:
a__d
d_d_
ad_d
_a__


Kiitä teitä

5

186

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • dfgdgdg

      Tämmönen pyyttonilla. Tehtävänanto kuulostaa hieman keinotekoiselta mutta tämän pitäis toimia jos tarivitsee sattumoisin monimutkaisempiakin merkkimuunoksia tehdä.

      Katsotaan menikö pahasti rikki kun heitin html escape työkalun läpi

      import string

      if __name__ == '__main__':
          # kaannostaulu
          tt = string.maketrans("b", "_")

          # data voisi olla tiedostokin
          data = ["abbd",
                  "dbdb",
                  "adbd",
                  "babb"]

          for row in data:
              print row[0]   string.translate(row[1:3], tt)   row[3:]


      Tuottaa:
      a__d
      a_db
      ad_d
      ba_b

      • sdsdff

        Siis tuottaa (oli alkujaan typo mutta unohin korjata tästä)
        a__d
        d_db
        ad_d
        ba_b


      • sdfsdfdss
        sdsdff kirjoitti:

        Siis tuottaa (oli alkujaan typo mutta unohin korjata tästä)
        a__d
        d_db
        ad_d
        ba_b

        Laitetaan nyt vielä selitys maketranssista. Se siis tekee tuollaisen käännöstaulukon annetuista parametreistä ja kääntää ne kaikki kerralla.

        Esim. jos haluaisit kääntää a->b, b->c, d->e niin se onnistuisi string.maketrans("abc", "bce")


      • sdfgfg
        sdfsdfdss kirjoitti:

        Laitetaan nyt vielä selitys maketranssista. Se siis tekee tuollaisen käännöstaulukon annetuista parametreistä ja kääntää ne kaikki kerralla.

        Esim. jos haluaisit kääntää a->b, b->c, d->e niin se onnistuisi string.maketrans("abc", "bce")

        Tietty jos ei ikinä eikä missään tilanteessa ole tarvista muille kuin yhden merkin käännöksille niin sitten ihan normaali replace käy myös


      • se kysysja
        sdfgfg kirjoitti:

        Tietty jos ei ikinä eikä missään tilanteessa ole tarvista muille kuin yhden merkin käännöksille niin sitten ihan normaali replace käy myös

        Tämä on tosi siisti.

        Kiitos.

        Sitten mitä tulee keinotekoiseen, myös aspartaami on.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ranskan vasemmistojohtaja: "Kyllä, meneillään on suuri väestönvaihto!"

      Ranskan vasemmistojohtaja Jean-Luc Mélenchon järkytti myöntämällä avoimesti sen, mitä tiedotusvälineet ovat pitkään pitä
      Maailman menoa
      64
      2223
    2. Valion maitotehtaalla kapina

      Ilmastonmuutoksesta, eläinten hyvinvoinnista ja ympäristön saastumisesta huolestuneet eläinkapinalliset estävät panssa
      Maailman menoa
      50
      2184
    3. SDP haluaa tappaa maaseudun - bensan hinta mahdollisimman korkealle

      Maaseudulla auto on välttämätön asia, ja lähes kaikilla on bensa-autot. Kuinka tyhmä pitää olla jos äänestää demareita?
      Maailman menoa
      162
      2015
    4. Päivän Riikka: polttoöljyn hinta räjähti

      Näyttää tuo putinismi ilmenevän persuissa myös Suomen yrittäjien kampittamisena. Polttoöljy on se katalyytti, joka pitää
      Maailman menoa
      17
      1791
    5. Helsingin yllä valopalloja

      https://www.iltalehti.fi/kotimaa/a/1508be00-28c9-4156-83dc-0be5e7aa3066 "Helsingin taivaalla lensi lauantaina puolen yön
      Sinkut
      85
      1141
    6. Kovasti on hävittäjiä ilmassa. Nytkö se alkoi?

      Onko nyt sota ?? `Vai harjoituksiako vain? Hävittäjät pörrää kovasti.
      Kouvola
      74
      1070
    7. HÄLYYTYS!!

      Ukraina se hyökkää jo Suomen maaperälle. https://www.iltalehti.fi/kotimaa/a/645b83ce-e074-4f00-8b99-245d01b38a36
      NATO
      292
      961
    8. Jumalauta! Ukraina hyökkää jo Suomeenkin!

      Ukrainan drooneja tullut Suomeen ainakin kolme, ehkä enemmäkin! Syvälle Suomeen! Nyt on klovnipressa hukkapätkä mennyt T
      Maailman menoa
      320
      899
    9. Helsingin yllä lensi yöllä jotain outoa puolen yön aikaan valopalloja

      Poliisi on saanut tapauksesta yhden havaintoilmoituksen. Valopalloja oli noin parikymmentä ILtalehdessä on video tapah
      Maailman menoa
      98
      835
    10. Mitä kaikkia vikoja

      On kaivatussasi?
      Ikävä
      56
      807
    Aihe