iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
自我挑戰組

富士大顆系列 第 6

vol.06 如紅寶石般閃耀的您-Ruby 學習筆記 (二) 字串 methods 20+ 選!

  • 分享至 

  • xImage
  •  

你好,我是富士大顆 Aiko
今天來介紹 ruby 的黑魔法--methods !


資料的型態除了有前一篇所講的單一個體,還有 array 跟 hash 這種集合體。
先介紹的是個體型的 methods,使用上只要招喚. :

字串系列 20 選:

直接變形

reverse:倒轉

str = "Aiko"
puts str.reverse
#"okiA"

upcase:全大寫

str = "Aiko"
puts str.upcase
#"AIKO"

downcase:全小寫

str = "Aiko"
puts str.downcase
#"aiko"

to_i:將字串轉為整數

str = "33.3"
puts str.to_i
#33

字串的 RUD 讀取/計算/更新/刪除

length:長度,也可計算 array 個數

str = "Aiko"
puts str.length 
#4

count:計算特定字串的出現次數

str = "這是一個句子,句子中有兩個句子。"
puts str.count("句子")
#3("句子"出現3次)

split:將字串根據所帶參數分割成字串,並返回一個陣列 array

str = "這是一個 中間有空格的字串"
 puts str.split(" ")
#["這是一個", "中間有空格的字串"]

sub:替換第一個比對到的字串

str = "Hello, World! World is great!"
puts str.sub("World", "Ruby")  
#"Hello, Ruby! World is great!"

gsub:將所有指定字串替換成參數字串

str = "Hello, World! World is great!"
put str.gsub("World", "Ruby")
#"Hello, Ruby! Ruby is great!"

concat:將兩個字串合併,後者作為參數

str1 = "Hello, "
str2 = "World!"
puts str1.concat(str2)
#"Hello, World!"

chop:刪除字串的最後一個字(或符號)

str = "這是一個句子"
puts str.chop
#"這是一個句"

strip:去除字串首尾的空白

str = "  這是一個前後有空格的字串  "
puts str.strip
#"這是一個前後有空格的字串"

index 位置相關

index:查子串第一次出現的位置

str = "這是一個句子"
puts str.index("一")
#2

insert:在字串的指定位置「後」插入字串

str = "這是一個句子"
puts str.insert(1, "不")
#"這不是一個句子"

slice:從指定位置中拿取指定字串長度的字串

str = "這是一個句子"
puts str.slice(2, 4)  #從位置 2 開始,拿 4 個字
#"一個句子"

不是 method 但是也很好用的方式

[]表示 index 值,也就是位置
0 是第一個!

str = "Hello, world!"
puts str[3]
#l

ruby 也可以反著數

str = "Hello, world!"
puts str[-1]
#!

[a..b]選取 range 字串!index a 到 b

str = "Hello, world!"
puts str[0..4]
#Hello

[a,b]選取 range 字串的另一種方式,index a 開始,數 b 個

str = "Hello, world!"
puts str[0, 5]
#Hello

T/F 檢查系 return boolean

include?:檢查字串是否包含參數。

str = "這是一個句子"
puts = str.include?("句子")
#true

empty?:檢查字串是否為空。

str = "這是一個句子"
puts str.empty?
#false

start_with?:檢查字串是否以參數開始。

str = "Ruby是一個強大的語言"
puts str.start_with?("Ruby")
#true

end_with?:檢查字符串是否以參數結束。

str = "這是 README.md"
puts str.end_with?("md")
#true

哇賽真的集精華了如果早點認識現在的自己就好了,
這還只是字串,看起來 3 篇有點講不完...


上一篇
vol.05 如紅寶石般閃耀的您-Ruby 學習筆記 (一) 基本的資料型態(Primitive Data Types)
下一篇
vol.07 如紅寶石般閃耀的您-Ruby 學習筆記 (三) 數字 methods 20+ 選!
系列文
富士大顆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言