abcd423417984 Skrevet 4. desember 2007 Del 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? Lenke til kommentar
Gjest Slettet-df17e Skrevet 5. desember 2007 Del 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' Lenke til kommentar
genstian Skrevet 5. desember 2007 Del 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 Lenke til kommentar
Gjest Slettet-df17e Skrevet 5. desember 2007 Del 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 Lenke til kommentar
abcd423417984 Skrevet 5. desember 2007 Forfatter Del 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? Lenke til kommentar
genstian Skrevet 5. desember 2007 Del 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. Lenke til kommentar
meastp Skrevet 7. desember 2007 Del 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 Lenke til kommentar
genstian Skrevet 8. desember 2007 Del Skrevet 8. desember 2007 Ønsker å bytte en bokstav på en bestemt posisjon uavhengig av dens verdi Lenke til kommentar
dabear Skrevet 11. desember 2007 Del 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. Lenke til kommentar
meastp Skrevet 11. desember 2007 Del 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. Lenke til kommentar
abcd423417984 Skrevet 11. desember 2007 Forfatter Del Skrevet 11. desember 2007 fant også ut at jeg kunne bruke: newstr = str[:1] + "b" + str[2:] ellerno slik Lenke til kommentar
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å