Forklarede rubinstrengemetoder - længde, tomme og andre indbyggede metoder

Ruby har mange indbyggede metoder til at arbejde med strenge. Strenge i Ruby er som standard mutable og kan ændres på plads, eller en ny streng kan returneres fra en metode.

Længde

Den .lengthegenskab returnerer antallet af tegn i en streng herunder hvid-plads.

"Hello".length #=> 5 "Hello World!".length #=> 12

Tom

Den .empty?metode returnerer truehvis en streng har en længde på nul.

"Hello".empty? #=> false "!".empty? #=> false " ".empty? #=> false "".empty? #=> true

Tælle

De .countmetode tæller, hvor mange gange et bestemt tegn (S) er fundet i en snor.

Denne metode skelner mellem store og små bogstaver.

"HELLO".count('L') #=> 2 "HELLO WORLD!".count('LO') #=> 1

Indsæt

Den .insertmetode indsætter en streng i en anden streng, før en given indeks.

"Hello".insert(3, "hi5") #=> Helhi5lo # "hi5" is inserted into the string right before the second 'l' which is at index 3

Opadgående

Den .upcasemetode forvandler alle bogstaver i en streng til store bogstaver.

"Hello".upcase #=> HELLO

Undergang

Den .downcasemetode forvandler alle bogstaver i en streng til små bogstaver.

"Hello".downcase #=> hello

Byttepose

De .swapcasemetode forvandler de store disse to i en streng til små bogstaver og små bogstaver til store bogstaver.

"hELLO wORLD".swapcase #=> Hello World

Kapitaliser

Den .capitalizemetode gør det første bogstav i en streng store bogstaver og resten af strengen små bogstaver.

"HELLO".capitalize #=> Hello "HELLO, HOW ARE YOU?".capitalize #=> Hello, how are you?

Bemærk, at det første bogstav kun er stort, hvis det er i begyndelsen af ​​strengen.ruby "-HELLO".capitalize #=> -hello "1HELLO".capitalize #=> 1hello

Baglæns

Den .reversemetode vender rækkefølgen af tegnene i en streng.

"Hello World!".reverse #=> "!dlroW olleH"

Dele

Den .splittager en streng og opdeler den i en matrix og returnerer derefter arrayet.

"Hello, how are you?".split #=> ["Hello,", "how", "are", "you?"]

Standardmetoden opdeler strengen baseret på mellemrum, medmindre der er angivet en anden separator (se andet eksempel).

"H-e-l-l-o".split('-') #=> ["H", "e", "l", "l", "o"]

Hakke

Den .chopmetode fjerner det sidste tegn af strengen.

En ny streng returneres, medmindre du bruger .chop!metoden, der muterer den originale streng.

"Name".chop #=> Nam
name = "Batman" name.chop name == "Batma" #=> false
name = "Batman" name.chop! name == "Batma" #=> true

Strip

Den .stripmetode fjerner den forreste og bageste mellemrum i snore, herunder faner, nye linjer og linjeskift ( \t, \n, \r).

" Hello ".strip #=> Hello

Chomp

Den .chompmetode fjerner det sidste tegn i en streng, kun hvis det er en vognretur eller linjeskift ( \r, \n).

Denne metode bruges ofte med getskommandoen til at fjerne returneringer fra brugerinput.

"hello\r".chomp #=> hello "hello\t".chomp #=> hello\t # because tabs and other whitespace remain intact when using `chomp`

Til heltal

Den .to_imetode konverterer en streng til et heltal.

"15".to_i #=> 15 # integer

Gsub

gsub erstatter hver reference for den første parameter for den anden parameter på en streng.

"ruby is cool".gsub("cool", "very cool") #=> "ruby is very cool"

gsubaccepterer også mønstre (som regexp ) som første parameter, så ting som:

"ruby is cool".gsub(/[aeiou]/, "*") #=> "r*by *s c**l"

Sammenkædning

Ruby implementerer nogle metoder til at sammenkæde to strenge sammen.

Den +metode:

"15" + "15" #=> "1515" # string

Den <<metode:

"15" < "1515" # string

Den concatmetode:

"15".concat "15" #=> "1515" # string

Indeks

Den indexmetode returnerer indekset stilling den første forekomst af substring eller regulært udtryk kamp i en streng. Hvis der ikke findes noget match, nilreturneres.

En anden valgfri parameter angiver, hvilken indeksposition i strengen der skal søges efter et match.

"information".index('o') #=> 3 "information".index('mat') #=> 5 "information".index(/[abc]/) #=> 6 "information".index('o', 5) #=> 9 "information".index('z') #=> nil

Klar

Fjerner strengindhold.

a = "abcde" a.clear #=> ""