赞 | 1 |
VIP | 22 |
好人卡 | 4 |
积分 | 1 |
经验 | 14594 |
最后登录 | 2015-10-25 |
在线时间 | 796 小时 |
Lv1.梦旅人 綾川司の姫様<
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 796 小时
- 注册时间
- 2007-12-20
- 帖子
- 4520
|
请查看F1帮助手册String类。
- String
- 字符串类。可处理任意长度的字节串。请参考字符串字面值。
- String 类将自身当作字节串来处理。从多字节字符串中取出 1 个字节的话可以使用 scan(/./) 等方法。
- 父类Object
- 包含的模块Comparable
- Enumerable
- 方法self + other
- 将字符串连接起来之后,返回得到的新字符串。
- self * times
- 将字符串的内容重复 times 次之后,返回新字符串。
- self <=> other
- 以 ASCII 代码的顺序来比较 self 和 other。若 self 较大时返回正整数,相等时返回 0,较小时返回负整数。
- self == other
- 判断字符串是否一样。
- self[nth, len]
- 返回从第 nth 字节算起的长度为 len 字节的子字符串。若 nth 为负数则从字符串尾部算起。
- 若 nth 超出范围则返回 nil。
- self[regexp]
- 返回最初那个与 regexp 相匹配的子字符串。与匹配操作相关的信息被存入内部变量 $~ 中。
- 若与 regexp 的匹配失败则返回nil。
- p "foobar"[/bar/] # => "bar"
- self[nth, len]=val
- 以 val 来替换从第 nth 字节起长度为 len 字节的子字符串。若 nth 为负数则从尾部算起。
- 返回 val。
- self[regexp]=val
- 以 val 来替换第一个与正则表达式 regexp 相匹配的子字符串。
- 若正则表达式的匹配失败则引发 IndexError 异常。
- 返回 val。
- clone
- dup
- 返回一个与原字符串内容相同的新字符串。对被冻结的字符串使用 clone 会得到一个同样被冻结的字符串,而使用 dup 就会得到一个内容相同但未被冻结的字符串。
- concat(other)
- 将 other 字符串的内容连接到 self 之后。返回 self。
- downcase
- downcase!
- 将字符串中的大写字母都改为小写字母。
- downcase 生成并返回修改后的字符串。而 downcase! 则会修改 self 本身并返回结果,若没有作修改,则返回 nil。
- 请参考 upcase。
- each {|line| ... }
- each_line {|line| ... }
- 对字符串中的各行进行迭代操作。
- 返回 self。
- each_byte {|byte| ... }
- 对字符串中的各个字节进行迭代操作。返回 self。
- empty?
- 若字符串为空(也就是说其长度为 0),则返回真。
- gsub(pattern) {|matched| .... }
- gsub!(pattern) {|matched| .... }
- 以 replace 来替换字符串中所有与 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。
- insert(nth, other)
- 在第 nth 个字符的前面插入 other 字符串。返回 self。
- p "foobaz".insert(3, "bar") # => "foobarbaz"
- to_sym
- 返回与字符串相对应的符号值(Symbol)。
- 若想得到与某符号相对应的字符串时,请使用 Symbol#id2name。
- p "foo".to_sym # => :foo
- p "foo".to_sym.to_s == "foo" # => true
- length
- size
- 返回字符串的字节数。
- scan(re)
- scan(re) {|s| ... }
- 使用正则表达式 re 反复对 self 进行匹配操作,并以数组的形式返回匹配成功的子字符串。
- p "foobarbazfoobarbaz".scan(/ba./)
- # => ["bar", "baz", "bar", "baz"]
- p "菜蛋之家".scan(/./)
- # => ["菜", "蛋", "之", "家"]
- 若带块调用的话,匹配成功的子字符串(若正则表达式中包含括号时,则是与括号内的 pattern 匹配成功的字符串的数组)将成为块的参数。带块调用时返回 self。
- "foobarbazfoobarbaz".scan(/ba./) {|s| p s}
- # => "bar"
- "baz"
- "bar"
- "baz"
- slice(nth, len)
- slice(regexp)
- 与 self[] 相同。
- slice!(nth, len)
- slice!(regexp)
- 从字符串中删除指定的范围(请参考 self[])然后返回删除的子字符串。
- 若参数超出范围则返回 nil。
- sub(pattern) {|matched| ... }
- sub!(pattern) {|matched| ... }
- 用 pattern 来替换首次匹配 pattern 的部分。
- sub 生成并返回替换后的字符串。而 sub! 会修改 self 本身并返回结果。若没有进行替换时返回 nil。
- 除去只进行一次匹配这个特点以外,它与 gsub 是相同的。
- to_f
- 将字符串看作是十进制数形式,并将其变为浮点数 Float。
- to_i([base])
- 将字符串看作是十进制数形式,并将其变为整数。
- 通过指定基数 base,还可以进行默认值十进制以外的 2~36 进制的转换。
- upcase
- upcase!
- 将所有字母都变为大写形式。
- upcase 生成并返回修改后的字符串。而 upcase! 会修改 self 本身并返回结果,若没有进行转换操作则返回 nil。
- 请参考 downcase。
复制代码 |
|