abcd423417984 Skrevet 4. desember 2007 Skrevet 4. desember 2007 Hei Dette er kanskje et dumt spørsmål, men hvordan kan jeg redigere enkeltbokstaver i en string? Jeg vet at str[2] = 'a' ikke fungerer, men det må vel være en slags erstatning?
Gjest Slettet-df17e Skrevet 5. desember 2007 Skrevet 5. desember 2007 Litt usikker på nøyaktig hva du mener - men forstår jeg deg rett er du ute etter å f.eks bytte om f.eks "a" med "b" i en string. Det er ihvertfall utrolig enkelt. string = 'abc' string = string.replace('b', 'n') print string Verdien av string er nå: 'anc'
genstian Skrevet 5. desember 2007 Skrevet 5. desember 2007 (endret) Det kan gjøres slik også: string = "abc" list = list(string) list[2] = "d" string = ''.join(list) EDIT: Litt kode kom utfor [ code ] tagen. Endret 5. desember 2007 av hotstian
Gjest Slettet-df17e Skrevet 5. desember 2007 Skrevet 5. desember 2007 (endret) Så sant man vet nøyaktig hvor i strengen bokstaven er så kan man gjøre det sånn, ja Endret 5. desember 2007 av Slettet-df17e
abcd423417984 Skrevet 5. desember 2007 Forfatter Skrevet 5. desember 2007 Litt usikker på nøyaktig hva du mener - men forstår jeg deg rett er du ute etter å f.eks bytte om f.eks "a" med "b" i en string. Det er ihvertfall utrolig enkelt. string = 'abc' string = string.replace('b', 'n') print stringVerdien av string er nå: 'anc' Ønsker å bytte en bokstav på en bestemt posisjon uavhengig av dens verdi Det kan gjøres slik også: string = "abc" list = list(string) list[2] = "d" string = ''.join(list)EDIT: Litt kode kom utfor [ code ] tagen. Det ser ut som en mulig løsning ja...men vil ikke det føre til en større performance overhead å gjøre om til liste og så tilbake til streng igjen?
genstian Skrevet 5. desember 2007 Skrevet 5. desember 2007 Alle språk som du kan skrive string[2] = "what_so_ever" gjør om til stringer (eller at strenger er lister). Tror også UserString støtter det, men vil nok være mer performance overhead enn eksemplet over.
meastp Skrevet 7. desember 2007 Skrevet 7. desember 2007 (endret) kan jo bruke regex, hvis du ikke vet hvilken posisjon den har? EDIT: Svarene her er mer enn gode nok. For å manipulere tekst forøvrig, søk etter python (standard) library string Endret 8. desember 2007 av meastp
genstian Skrevet 8. desember 2007 Skrevet 8. desember 2007 Ønsker å bytte en bokstav på en bestemt posisjon uavhengig av dens verdi
dabear Skrevet 11. desember 2007 Skrevet 11. desember 2007 Bare for å opplyse, er strings immutable, det vil si de kan ikke endres Dette gjelder i tillegg tupler ( (1,2,'foo') ) og sikkert andre datatyper i tillegg.
meastp Skrevet 11. desember 2007 Skrevet 11. desember 2007 En annen ting som går an, er jo å kombinere string.split('bokstavenduskalbytteut'). Du kjenner posisjonen, og derfor vet du hvilken bokstav du skal bytte ut. Deretter kan du sette sammen teksten igjen. Eller du kan bruke string.partition() evt. flere ganger. Det fungerer kanskje bedre.
abcd423417984 Skrevet 11. desember 2007 Forfatter Skrevet 11. desember 2007 fant også ut at jeg kunne bruke: newstr = str[:1] + "b" + str[2:] ellerno slik
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå