Ruby String Bytt ut

Ruby String Bytt ut

En grunnleggende metode for å søke og erstatte en streng bruker vanlige uttrykk. Regex er kraftig når det gjelder å finne mønstre, filtrering og mer.

I denne guiden vil vi diskutere forskjellige måter å manipulere strenger i Ruby. Vi vil dekke hvordan du utfører strengstasjon, innsetting og erstatning.

Substring -erstatning

Den enkleste måten å erstatte en streng i Ruby er å bruke substringerstatningen. Vi kan spesifisere strengen for å erstatte i et par firkantede parenteser og angi erstatningsverdien:

For eksempel:

msg = "programmering i ruby ​​er morsomt!""
msg ["ruby"] = "python"
setter msg
Programmering i Python er morsomt!

I eksemplet over brukte vi indeksering for å søke og erstatte en spesifisert streng.

Hvis du kjenner indeksområdet for strengen du ønsker å erstatte, kan du spesifisere indeksområdet som:

var1 = "Hello World"
var1 [0… 4] = "Zello"
setter var1
Zello World

I eksemplet erstatter vi tegnene fra indeks 0 til 4, som inneholder strengen “Hello”.

Erstatt metode

Ruby har en erstatningsmetode som erstatter hele innholdet i den spesifiserte strengen med innholdet.

For eksempel:

name = "John doe"
Navn.erstatte "Jane Doe"
setter navn
=> Jane Doe

Søk og erstatt

Et typisk tilfelle når manipulerende strenger i rubin er å søke og erstatte et spesifikt strengmønster. Vi kan oppnå dette ved å bruke den innebygde SUB- og GSUB-metoden.

Disse metodene godtar to argumenter: strengen for å søke og strengen for å erstatte. De bruker vanlige uttrykk for å lokalisere matchende mønstre og erstatte alle forekomstene i mønstrene.

Sub- og GSUB -metoder endrer ikke kildestrengene. Du kan imidlertid bruke suben! og GSUB! For å endre kildestrengen.

Eksempel 1

Følgende er et enkelt eksempel på Sub- og GSUB -metodesøk og erstatt.

msg = "programmering i ruby ​​er morsomt!""
msg.Sub ("Ruby", "Python")
=> "Programmering i Python er morsomt!""
setter msg
=> Programmering i Ruby er morsomt!

I eksemplet over søker vi etter strengen "Ruby" og erstatt den med strengen "Python".

Som nevnt lager SUB- og GSUB -metodene en ny streng der du kan lagre variabelen:

new_msg = msg.Sub ("Ruby", "Python")
Programmering i Python er morsomt!

Eksempel 2

Følgende eksempel illustrerer hvordan du bruker undermetoden med et enkelt vanlig uttrykk:

var1 = "Hello World"
var1.sub (/\ w+lo/, "hei")

Eksemplet over vil lokalisere strengen som slutter med LO og erstatte den med "Hei". Nedenfor er et eksempelutgang:

"Hei verden"

Eksempel 3

Tenk på følgende eksempel som store bokstaver et spesifikt ord ved hjelp av regex:

var = "Hello World"
var.gsub (/\ bhello \ b/, "hei")

Sett inn streng

Vi kan også sette inn en streng i en eksisterende streng ved hjelp av innsatmetoden. Ta følgende eksempel:

msg = "Hello World"
msg.Sett inn 5, ","

Indeksmetoden vil ta indeksposisjonen og verdien å sette inn.

Lukking

I denne raske guiden diskuterte vi forskjellige måter å erstatte en streng i Ruby ved hjelp av innebygde metoder og vanlige uttrykk.