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ä
Merkkien käsittely
5
173
Vastaukset
- 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_bLaitetaan 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
Näin Enter-napilla tehdään miljardi euroa - Helsingissä
"Ei se nyt niin kovin ihmeelliseltä näytä. Tavallinen nappi, musta muovinpala, joka kököttää parikymppiä maksavan mustan03720- 433321
Eipä tunnu se "pedofilia" huuto kiinnostavan
Lähinnä se sekohäirikkö ressukka joutuu itse vastaileen itselleen, mitään näkyvyyttä ei saa, palstalla ylipäätään on hyv563037Jätä minut rauhaan
En pidä sinusta. Lopeta seuraaminen. Älä tulkitse keskustelutaitoa tai ystävällisyyttä miksikään sellaiseksi mitä ne eiv342908- 162848
No kyllä te luuserit voitte tehdä mitä vaan keskenänne, sitä en ymmärrä miksi pelaat,nainen
Pisteesi silmissäni, edes ystävätasolla tippui jo tuhannella, kun sain selville pelailusi, olet toisen kanssa, vaikka ol452700- 442340
Ben Z: "SDP ei ole ollut 50 vuoteen näin huolissaan velasta"
"– Olen ollut eduskunnassa noin 50 vuotta, eikä SDP ole koskaan ollut niin huolissaan velasta kuin nyt. Se on tietysti h382232- 422095
- 451879