字符串的类。可以处理任意长度的字节串。详细参看 Sprintf 格式。
返回连接起来的新字符串。
生成并返回一个重复字符串内容 times 次的新字符串。
将 self 与 other 依照 ASCII 码顺序进行比较,若是 self 大于 other 则返回正整数、若是 self 等于 other 则返回 0、若是 self 小于 other 则返回负整数。
判断字符串是否相等。
返回从第 nth 位开始, len 位长度的子字符串。当 nth 是负值时,从字符串尾部开始算起。
若 nth 超出范围,返回 nil。
返回第一个匹配 regexp 的子字符串。匹配信息储存于内建变量 $~ 中。
若是 regexp 匹配失败,返回 nil。
p "foobar"[/bar/] # => "bar"
将从第 nth 位开始计算 len 位长度的子字符串替换为 val 字符串。当 nth 是负值时,从字符串尾部开始算起。
返回 val 。
将第一个匹配 regexp 的子字符串替换为 val 字符串。
若匹配失败,抛出 IndexError 异常。
返回 val。
返回与原字符串相同内容的新字符串。对冻结的字符串使用 clone 返回相同的冻结字符串,而 dup 返回相同内容的非冻结字符串。
将 other 和 self 的内容连接起来并返回 self。
将所有的大写字母替换成小写字母。
downcase 生成并返回新修改的字符串,而 downcase! 修改并返回 self,但是若没有替换任何字符,返回 nil。
参考 upcase。
迭代字符串中的每一行。
返回 self。
迭代字符串中的每一字节。返回 self。
若字符串为空(长度为 0)则返回 true。
以区块的计算结果替换所有匹配 pattern 的子字符串。匹配成功的子字符串会传递给区块作为参数。内建变量 $<digits> 可以在区块内引用。
p 'abcabc'.gsub(/b/) {|s| s.upcase } # => "aBcaBc" p 'abcabc'.gsub(/b/) { $&.upcase } # => "aBcaBc" p 'abbbcd'.gsub(/a(b+)/) { $1 } # => "bbbcd"
gsub 生成并返回替换后的字符串。gsub! 修改并返回 self,但是若没有发生替换,返回 nil。
参考 sub。
若字符串文字包含子字符串 substr 则返回 true。
从左至右寻找子字符串,返回所找到字符串左端的位置。若找不到字符串,返回 nil 。
pattern 参数使用字符串或正则表达式指定所寻找的子字符串。
若指定了 pos ,则从该位置开始寻找,省略时默认值为 0。
将字符串 other 插入在第 nth 位的字符的前面。返回 self。
p "foobaz".insert(3, "bar") # => "foobarbaz"
返回对应字符串的符号值(Symbol)。
使用 Symbol#id2name 获取对应符号的字符串。
p "foo".to_sym # => :foo p "foo".to_sym.to_s == "foo" # => true
返回字符串的字符数。
重复将 self 与正则表达式 re 进行匹配,并返回匹配成功的子字符串的数组。
p "foobarbazfoobarbaz".scan(/ba./) # => ["bar", "baz", "bar", "baz"] p "abcde".scan(/./) # => ["a", "b", "c", "d", "e"]
当指定区块时,匹配成功的子字符串成为区块的参数(若包含括号时,区块的参数是匹配括号部分的字符串数组)。指定区块时,返回 self。
"foobarbazfoobarbaz".scan(/ba./) {|s| p s} # => "bar" "baz" "bar" "baz"
与 self[] 相同。
移除并返回字符串中指定范围(参考 self[])的子字符串。
若参数超出范围,返回 nil。
以区块的计算结果替换第一个匹配 pattern 的子字符串。匹配成功的子字符串会传递给区块作为参数。
sub 生成并返回替换后的字符串。sub! 修改并返回 self,但是若没有发生替换,返回 nil。
与 gsub 相同,但是 sub 只会匹配一次。
将字符串视为 10 进制的表达式并转换成浮点数(Float)。
将字符串视为数值表达式并转换成整数。
默认为十进制。若指定了 base,可以进行 2~36 进制的转换。
将所有的小写字母替换成大写字母。
upcase 生成并返回新修改的字符串。upcase! 修改并返回 self,但是若没有替换任何字符,返回 nil。
参考 downcase。