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

63

    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. Metsäkoneen kuljettaja huuteli tutkijalle

      "voisit kyllä ottaa rintaliivit pois ennen kuin tulet minulle juttelemaan, hän sanoo." https://yle.fi/a/74-20106446 On
      Suomussalmi
      704
      10250
    2. Suomi on täysin sekaisin

      Jo ties monettako päivää hirveä itku ja poru jostain helvetin nilviäisistä. https://www.is.fi/taloussanomat/art-2000010
      Maailman menoa
      421
      4543
    3. Kaikki ei vieläkään usko luontokatoon.

      Suomussalmen Hukkajoella foliohattu metsäkoneen kuljettaja tuhosi tuhansia harvinaisia jokihelmisimpukoita eli raakkuja
      Kajaani
      92
      3084
    4. Sano vain suoraan, että nyt riittää

      ettei kiinnosta. Sano, että lopeta! En ihmettelisi, jos olet saanut tarpeeksesi ja toivot minun ymmärtävän lopettaa. Eh
      Ikävä
      43
      2875
    5. Ohhoh! Ex-pääministeri Sanna Marinin Joni-rakas paljasti ilouutisen: "Tässä kuussa..."

      Sanna Marin on ollut naimisissa Markus Räikkösen kanssa. Nyt hänen seurassaan on usein julkkishiusmuotoilija Joni Willb
      Kotimaiset julkkisjuorut
      55
      2704
    6. Mari Rantanen asettaa sairaan lapsen edun oman uransa edelle - (tekikö Marin samaa)

      Noin toimii kunnon vastuuntuntoinen äiti, mutta siitäkin nämä mt-ongelmaiset vasemmistolaiset häntä täällä haukkuvat. "
      Maailman menoa
      230
      2698
    7. Mitä ajattelet aina

      Kun hän tulee näköpiiriin?
      Ikävä
      154
      1874
    8. Luokatonta toimintaa

      Tyrmistyttävää toimintaa Stora Enson korjuu yrittäjältä Hukkajoella. Täyttä piittaamattomuutta laeista ja luontoarvoista
      Suomussalmi
      73
      1748
    9. Ensimmäisestä kohtaamisesta saakka

      minulla on ollut hämmentynyt olo. Miten voit tuntua siltä, että olisin tuntenut sinut aina? Sinun kanssasi on yhtä aikaa
      Ikävä
      14
      1640
    10. Maailmankuulu homopingviini on kuollut

      Minä niin toivoin että pariskunta olisi saatu kunniavieraiksi ensi kesän Prideen. 💔 "Maailmankuulu homopingviini on k
      Lapua
      6
      1443
    Aihe