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!""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"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"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!""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")Eksempel 2
Følgende eksempel illustrerer hvordan du bruker undermetoden med et enkelt vanlig uttrykk:
var1 = "Hello World"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"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"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.