Gå til innhold

Redigere enkeltbokstaver i en streng?


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet-df17e
Skrevet

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'

Skrevet (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 av hotstian
Gjest Slettet-df17e
Skrevet (endret)

Så sant man vet nøyaktig hvor i strengen bokstaven er så kan man gjøre det sånn, ja :)

Endret av Slettet-df17e
Skrevet

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'

 

Ønsker å bytte en bokstav på en bestemt posisjon uavhengig av dens verdi smile.gif

 

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?

Skrevet

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.

Skrevet (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 av meastp
Skrevet

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.

Skrevet

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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...