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
187
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
Perintovero 100 prosenttiin, työeläkkeet ja maataloustuet pois
Noilla eväillä lähden tasapainottamaan valtiontaloutta ja korjaamaan työntekijöiden palkkakuoppaa nostamatta työnantajie2345757Riikka runnoo: polttoöljyn hinta nousi maaliskuussa 40 prosenttia
Onko irvistelijällä sakset hävinneet, vai miksei osaa leikata polttoaineiden hintaa kansalaisten kukkarolle sopivalle ta453832Purra ryöväsi Marinin Itä.-Suomelle neuvottelemat EU-rahat
Perust vihaavat suomalaisia, mutta eritoten itäsuomalaisia. "Osa kaksikäyttörahoista on alun perin Itä- ja Pohjois-Suom323208Miksi persut hyökkäävät jatkuvasti henkilöitä päin?
Miksei persut yritä lainkaan korjata asioita, vaan koko ajan haukkuvat henkilöitä? Ei tuollaisilla turvanpieksäjillä ole563101Demariskandaali! Eveliina Heinäluoma (sdp) kahmii kaikki Hitas asunnot itselleen!
Heinäluoma on ostanut useita yhteiskunnan tukemia, hintasäännösteltyjä asuntoja itselleen! Ei ihme, että Hitas on ollut1592914Seida Sohrabi: Suomi ei ole rasistinen maa
Seidalta taas täyttä asiaa. Miksi punavihreät naiset eivät pysty samaan - no se ideologia estää. "Meillä on valitettava372753Mökkejä ostellaan nyt ihan hulluna!
Tyypilliset lainamäärät on yli 500 000€ mökkejä ostellessa eli erityisesti tuollaiset miljoonamökit on nyt suomalaisten892723Demarien sanoin kuvaamaton ahneus - Eveliina Heinäluoma vain yksi esimerkki
Mutta näin se on demari-eliitissä aina ollut, käytännössä siis nämä eliittiin kuuluvat ovat puhtaasti porvareita - Marin732419Ranskan vasemmistojohtaja tunnustaa, että väestö on vaihtumassa
ja se on vaan hyvä asia hänen mielestään. Kyseessä siis Ranskan vasemmistojohtaja Jean-Luc Mélenchon jonka puheet järkyt742060Abdullah iski Citycenterin vessassa
Miksi näitä juttuja pitää lukea lähes päivittäin? https://www.hs.fi/helsinki/art-2000011913632.html1842004