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

145

    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. Miten Eerolan silmäkuvat voivat levitä muutamassa tunnissa ympäri maailmaa?

      Seuraako koko maailma persujen ja erityisesti Eerolan somea reaaliajassa? Edes kansanedustajan itsemurha eduskuntatalos
      Maailman menoa
      437
      6357
    2. Suomen kansa haluaa Antti Lindtmanista pääministerin

      Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http
      Maailman menoa
      126
      3666
    3. Vain 21% kannattaa Lindtmania pääministeriksi

      se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?
      Maailman menoa
      97
      2447
    4. Miten löydän sinut

      Ja saan sanottua kaiken mitä haluan sinulle kertoa? Ja kuinka kuuntelisit minua sen hetken? Kuinka voin ilmaista sen mit
      Ikävä
      25
      1919
    5. Moraaliköyhä S-ryhmä

      S-ryhmä on kehystänyt Israel-boikottipäätöksen “ihmisoikeuslinjaukseksi”, mutta toteutus paljastaa sen onttouden: valiko
      Tampere
      111
      1271
    6. Yöllinen autolla kaahari Heinolan seudulla

      Asukkaita häiriköivän nuoren herran autokaahaus keskustelu poistettu, onko jokin hyvävelijärjestelmä käytössä ?
      Heinola
      82
      1245
    7. Minkä biisin omisit sun kaivatulle?

      Pieni perustelu olisi kiva. ❤️
      Ikävä
      63
      1065
    8. Onko kaivattusi

      seksuaalisesti vetovoimaisin ihminen jonka olet ikinä tavannut?
      Ikävä
      62
      1048
    9. Vaikea tilanne

      Hieman kolkuttaa omatuntoa, kun on osoittanut kiinnostusta väärää naista kohtaan. En ymmärrä miten toinen on voinut te
      Ikävä
      76
      960
    10. Milloin kaivatullasi

      .. on nimipäivä?
      Ikävä
      44
      943
    Aihe