字符串处理
单引号/双引号、字符串插值、gsub 替换、split/join、编码
字符串处理
Ruby 字符串方法极其丰富——gsub 正则替换、split/join 互转、<< 拼接、编码支持。
学完本章你将: 掌握插值、gsub/sub、split/join、编码。
基础操作
ruby
s = "Hello, World"
# 插值
"Hello, #{name}!"
# 拼接
s + "!!" # 创建新字符串
s << "!!" # 原地修改(高效)
# 大小写
s.upcase # "HELLO, WORLD"
s.downcase # "hello, world"
s.capitalize # "Hello, world"
# 查询
s.length # 12
s.include?("World") # true
s.index("World") # 7
s.start_with?("He") # true
替换与正则
ruby
s = "Hello World"
# sub —— 替换第一个匹配
s.sub("World", "Ruby") # "Hello Ruby"
s.sub(/o/, "0") # "Hell0 World"
# gsub —— 替换所有匹配
s.gsub(/o/, "0") # "Hell0 W0rld"
s.gsub(/\w+/) { |m| m.upcase } # "HELLO WORLD"
分割与连接
ruby
"a,b,c".split(",") # ["a", "b", "c"]
"a,b,c".split(",", 2) # ["a", "b,c"]
["a", "b", "c"].join("-") # "a-b-c"
# 去除空白
" hi ".strip # "hi"
" hi ".lstrip # "hi "
" hi ".rstrip # " hi"
编码
ruby
"你好".encoding # #<Encoding:UTF-8>
"你好".bytes # [228, 189, 160, 229, 165, 189]
"你好".each_char { |c| puts c } # 你 好