Rubin karakterlánc-módszerek magyarázata - hossz, üres és egyéb beépített módszerek

Ruby számos beépített módszerrel rendelkezik a húrok használatához. A Ruby karakterláncok alapértelmezés szerint módosíthatók, és megváltoztathatók a helyükön, vagy egy új karakterláncot vissza lehet adni a metódusból.

Hossz

A .lengthtulajdonság a karakterláncok számát adja vissza egy karakterláncban, beleértve a szóközt is.

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

Üres

A .empty?metódus akkor tér vissza, trueha egy karakterlánc hossza nulla.

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

Számol

A .countmódszer megszámolja, hogy egy adott karakter (ek) hányszor találhatók meg egy karakterláncban.

Ez a módszer megkülönbözteti a kis- és nagybetűket.

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

Helyezze be

A .insertmetódus beszúr egy karakterláncot egy másik karakterláncba egy adott index elé.

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

Nagybetű

A .upcasemódszer a karakterlánc összes betűjét nagybetűvé alakítja.

"Hello".upcase #=> HELLO

Kisbetűs

A .downcasemódszer a karakterlánc összes betűjét kisbetűvé alakítja.

"Hello".downcase #=> hello

Csere

A .swapcasemódszer a karakterláncban szereplő nagybetűket kisbetűvé, a kisbetűket nagybetűvé alakítja.

"hELLO wORLD".swapcase #=> Hello World

Nagybetűs írás

A .capitalizemódszer az első betűt egy karakterlánc nagybetűjével, a többi karakter pedig a kisbetűvel írja be.

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

Vegye figyelembe, hogy az első betű csak akkor kerül nagybetűsre, ha a karakterlánc elején van.ruby "-HELLO".capitalize #=> -hello "1HELLO".capitalize #=> 1hello

Fordított

A .reversemódszer megfordítja a karakterek sorrendjét egy karakterláncban.

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

Hasított

A The .splitkarakterláncot vesz fel és tömbre osztja , majd visszaadja a tömböt.

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

Az alapértelmezett módszer a karakterláncot a szóköz alapján osztja fel, hacsak más elválasztó nincs megadva (lásd a második példát).

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

Szelet

A .chopmódszer eltávolítja a karakterlánc utolsó karakterét.

Új karakterlánc kerül visszaadásra, hacsak nem .chop!az eredeti karakterláncot mutáló módszert használja .

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

Szalag

Az .stripeljárás eltávolítja a vezető és záró szóközöket húrok a lapok, újsorok és kocsi vissza ( \t, \n, \r).

" Hello ".strip #=> Hello

Chomp

A .chompmetódus csak akkor távolítja el a karakterlánc utolsó karakterét, ha ez egy kocsivissza vagy újsor ( \r, \n).

Ezt a módszert általában a getsparanccsal használják a visszatérések eltávolítására a felhasználói bevitelből.

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

Egésznek

A .to_imódszer egy karakterláncot egész számgá alakít.

"15".to_i #=> 15 # integer

Gsub

gsub lecseréli az első paraméter minden hivatkozását a karakterlánc második paraméterére.

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

gsuba mintákat (például a regexp ) is elfogadja első paraméterként, lehetővé téve például:

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

Összefűzés

Ruby implements some methods to concatenate two strings together.

The + method:

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

The << method:

"15" < "1515" # string

The concat method:

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

Index

The index method returns the index position of the first occurrence of the substring or regular expression pattern match in a string. If there is no match found, nil is returned.

A second optional parameter indicates which index position in the string to begin searching for a match.

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

Clear

Removes string content.

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