序号 |
方法和描述 |
1 |
str % arg
使用格式规范格式化字符串。如果 arg 包含多个替换项,则 arg 必须是数组。有关格式规范的信息,请参阅“Kernel 模块”下的 sprintf。 |
2 |
str * integer
返回一个新的字符串,其中包含 integer 次 str。换句话说,str 重复 integer 次。 |
3 |
str + other_str
将 other_str 连接到 str。 |
4 |
str << obj
将对象连接到 str。如果对象是 0.255 范围内的 Fixnum,则将其转换为字符。将其与 concat 进行比较。 |
5 |
str <=> other_str
比较 str 和 other_str,返回 -1(小于)、0(等于)或 1(大于)。比较区分大小写。 |
6 |
str == obj
测试 str 和 obj 是否相等。如果 obj 不是 String,则返回 false;如果 str <=> obj 返回 0,则返回 true。 |
7 |
str =~ obj
将 str 与正则表达式模式 obj 匹配。返回匹配开始的位置;否则返回 false。 |
8 |
str.capitalize
将字符串的首字母大写。 |
9 |
str.capitalize!
与 capitalize 相同,但更改会就地进行。 |
10 |
str.casecmp
进行字符串的不区分大小写的比较。 |
11 |
str.center
居中字符串。 |
12 |
str.chomp
删除字符串末尾的记录分隔符 ($/),通常为 \n。如果不存在记录分隔符,则不执行任何操作。 |
13 |
str.chomp!
与 chomp 相同,但更改会就地进行。 |
14 |
str.chop
删除 str 中的最后一个字符。 |
15 |
str.chop!
与 chop 相同,但更改会就地进行。 |
16 |
str.concat(other_str)
将 other_str 连接到 str。 |
17 |
str.count(str, ...)
计算一个或多个字符集。如果有多个字符集,则计算这些字符集的交集 |
18 |
str.crypt(other_str)
对 str 应用单向密码散列。参数是盐字符串,应该有两个字符长,每个字符的范围是 a.z、A.Z、0.9、. 或 /。 |
19 |
str.delete(other_str, ...)
返回 str 的副本,其中删除了其参数交集中的所有字符。 |
20 |
str.delete!(other_str, ...)
与 delete 相同,但更改会就地进行。 |
21 |
str.downcase
返回 str 的副本,其中所有大写字母都替换为小写字母。 |
22 |
str.downcase!
与 downcase 相同,但更改会就地进行。 |
23 |
str.dump
返回 str 的版本,其中所有非打印字符都替换为 \nnn 表示法,所有特殊字符都转义。 |
24 |
str.each(separator = $/) { |substr| block }
使用参数作为记录分隔符(默认为 $/)分割 str,并将每个子字符串传递给提供的块。 |
25 |
str.each_byte { |fixnum| block }
将 str 中的每个字节传递给块,并将每个字节作为字节的十进制表示返回。 |
26 |
str.each_line(separator=$/) { |substr| block }
使用参数作为记录分隔符(默认为 $/)分割 str,并将每个子字符串传递给提供的块。 |
27 |
str.empty?
如果 str 为空(长度为零),则返回 true。 |
28 |
str.eql?(other)
如果两个字符串具有相同的长度和内容,则它们相等。 |
29 |
str.gsub(pattern, replacement) [或]
str.gsub(pattern) { |match| block }
返回 str 的副本,其中所有 pattern 的出现都被替换为 replacement 或块的值。pattern 通常是一个 Regexp;如果它是一个 String,则不会解释任何正则表达式元字符(也就是说,/\d/ 将匹配一个数字,但 '\d' 将匹配一个反斜杠后跟一个 'd') |
30 |
str[fixnum] [或] str[fixnum,fixnum] [或] str[range] [或] str[regexp] [或] str[regexp, fixnum] [或] str[other_str]
引用 str,使用以下参数:一个 Fixnum,返回 fixnum 处的字符代码;两个 Fixnum,返回从偏移量(第一个 fixnum)到长度(第二个 fixnum)的子字符串;range,返回范围内的子字符串;regexp 返回匹配字符串的部分;带 fixnum 的 regexp,返回 fixnum 处的匹配数据;other_str 返回与 other_str 匹配的子字符串。负 Fixnum 从字符串末尾开始,-1。 |
31 |
str[fixnum] = fixnum [或] str[fixnum] = new_str [或] str[fixnum, fixnum] = new_str [或] str[range] = aString [或] str[regexp] = new_str [或] str[regexp, fixnum] = new_str [或] str[other_str] = new_str ]
替换(赋值)字符串的全部或部分。slice! 的同义词。 |
32 |
str.gsub!(pattern, replacement) [或] str.gsub!(pattern) { |match|block }
就地执行 String#gsub 的替换,返回 str,如果未执行任何替换则返回 nil。 |
33 |
str.hash
返回基于字符串长度和内容的哈希值。 |
34 |
str.hex
将 str 的前导字符视为十六进制数字的字符串(带可选符号和可选 0x),并返回相应的数字。出错时返回零。 |
35 |
str.include? other_str [或] str.include? fixnum
如果 str 包含给定的字符串或字符,则返回 true。 |
36 |
str.index(substring [, offset]) [或]
str.index(fixnum [, offset]) [或]
str.index(regexp [, offset])
返回 str 中给定子字符串、字符 (fixnum) 或模式 (regexp) 的第一次出现的索引。如果未找到,则返回 nil。如果存在第二个参数,则它指定字符串中开始搜索的位置。 |
37 |
str.insert(index, other_str)
在给定索引处的字符之前插入 other_str,修改 str。负索引从字符串末尾计数,并在给定字符之后插入。目的是插入一个字符串,使其从给定索引开始。 |
38 |
str.inspect
返回 str 的可打印版本,特殊字符已转义。 |
39 |
str.intern [或] str.to_sym
返回与 str 对应的 Symbol,如果该符号以前不存在,则创建该符号。 |
40 |
str.length
返回 str 的长度。比较 size。 |
41 |
str.ljust(integer, padstr = ' ')
如果 integer 大于 str 的长度,则返回一个长度为 integer 的新 String,其中 str 左对齐并用 padstr 填充;否则,返回 str。 |
42 |
str.lstrip
返回 str 的副本,其中已删除前导空格。 |
43 |
str.lstrip!
从 str 中删除前导空格,如果未进行任何更改则返回 nil。 |
44 |
str.match(pattern)
将 pattern 转换为 Regexp(如果它还不是 Regexp),然后在其上调用其 match 方法。 |
45 |
str.oct
将 str 的前导字符视为八进制数字的字符串(带可选符号),并返回相应的数字。如果转换失败,则返回 0。 |
46 |
str.replace(other_str)
用 other_str 中相应的 value 替换 str 的内容和 taintedness。 |
47 |
str.reverse
返回一个新字符串,其中 str 中的字符按相反顺序排列。 |
48 |
str.reverse!
就地反转 str。 |
49 |
str.rindex(substring [, fixnum]) [或]
str.rindex(fixnum [, fixnum]) [或]
str.rindex(regexp [, fixnum])
返回 str 中给定子字符串、字符 (fixnum) 或模式 (regexp) 的最后一次出现的索引。如果未找到,则返回 nil。如果存在第二个参数,则它指定字符串中结束搜索的位置。不会考虑此点以外的字符。 |
50. |
str.rjust(integer, padstr = ' ')
如果 integer 大于 str 的长度,则返回一个长度为 integer 的新 String,其中 str 右对齐并用 padstr 填充;否则,返回 str。 |
51 |
str.rstrip
返回移除尾随空格后的 str 副本。 |
52 |
str.rstrip!
移除 str 中的尾随空格,如果没有进行更改则返回 nil。 |
53 |
str.scan(pattern) [或]
str.scan(pattern) { |match, ...| block }
这两种形式都会遍历 str,匹配模式(可能是正则表达式或字符串)。对于每个匹配项,都会生成一个结果,并将其添加到结果数组中或传递给块。如果模式不包含组,则每个单独的结果都包含匹配的字符串 $&。如果模式包含组,则每个单独的结果本身就是一个数组,其中包含每个组的一个条目。 |
54 |
str.slice(fixnum) [或] str.slice(fixnum, fixnum) [或]
str.slice(range) [或] str.slice(regexp) [或]
str.slice(regexp, fixnum) [或] str.slice(other_str)
参见 str[fixnum] 等。
str.slice!(fixnum) [或] str.slice!(fixnum, fixnum) [或]
str.slice!(range) [或] str.slice!(regexp) [或]
str.slice!(other_str)
从 str 中删除指定的部分,并返回删除的部分。采用 Fixnum 的形式如果值超出范围将引发 IndexError;Range 形式将引发 RangeError,而 Regexp 和 String 形式将静默忽略赋值。 |
55 |
str.split(pattern = $, [limit])
根据分隔符将 str 分为子字符串,返回这些子字符串的数组。
如果 *pattern* 是一个字符串,则其内容将用作分割 str 的分隔符。如果 pattern 是单个空格,则 str 将按空格分割,忽略前导空格和连续空格字符的运行。
如果 *pattern* 是一个正则表达式,则在模式匹配的地方分割 str。当模式匹配零长度字符串时,str 将被分割成单个字符。
如果省略 *pattern*,则使用 $; 的值。如果 $; 为 nil(默认值),则 str 将按空格分割,就像指定了 ` ` 一样。
如果省略 *limit* 参数,则会抑制尾随空字段。如果 limit 是一个正数,则最多返回该数量的字段(如果 limit 为 1,则整个字符串将作为数组中唯一的条目返回)。如果为负数,则返回的字段数量没有限制,并且不会抑制尾随空字段。
|
56 |
str.squeeze([other_str]*)
使用 String#count 中描述的过程,从 other_str 参数构建一个字符集。返回一个新字符串,其中此集合中出现的相同字符的运行将被单个字符替换。如果没有给出参数,则所有相同字符的运行都将被单个字符替换。 |
57 |
str.squeeze!([other_str]*)
就地压缩 str,返回 str 或如果没有进行更改则返回 nil。 |
58 |
str.strip
返回移除前导和尾随空格后的 str 副本。 |
59 |
str.strip!
移除 str 中的前导和尾随空格。如果 str 未被更改,则返回 nil。 |
60 |
str.sub(pattern, replacement) [或]
str.sub(pattern) { |match| block }
返回 str 的副本,其中 pattern 的第一次出现被替换为 replacement 或块的值。pattern 通常是一个正则表达式;如果它是一个字符串,则不会解释任何正则表达式元字符。 |
61 |
str.sub!(pattern, replacement) [或]
str.sub!(pattern) { |match| block }
就地执行 String#sub 的替换,返回 str,如果没有执行替换则返回 nil。 |
62 |
str.succ [或] str.next
返回 str 的后继。 |
63 |
str.succ! [或] str.next!
等同于 String#succ,但就地修改接收者。 |
64 |
str.sum(n = 16)
返回 str 中字符的基本 n 位校验和,其中 n 是可选的 Fixnum 参数,默认为 16。结果只是 str 中每个字符的二进制值之和模 2n - 1。这不是一个特别好的校验和。 |
65 |
str.swapcase
返回 str 的副本,其中大写字母转换为小写,小写字母转换为大写。 |
66 |
str.swapcase!
等同于 String#swapcase,但就地修改接收者,返回 str,如果没有进行更改则返回 nil。 |
67 |
str.to_f
返回将 str 中的前导字符解释为浮点数的结果。有效数字之后的多余字符将被忽略。如果 str 的开头没有有效的数字,则返回 0.0。此方法永远不会引发异常。 |
68 |
str.to_i(base = 10)
返回将 str 中的前导字符解释为整数基数(基数 2、8、10 或 16)的结果。有效数字之后的多余字符将被忽略。如果 str 的开头没有有效的数字,则返回 0。此方法永远不会引发异常。 |
69 |
str.to_s [或] str.to_str
返回接收者。
|
70 |
str.tr(from_str, to_str)
返回 str 的副本,其中 from_str 中的字符被 to_str 中的相应字符替换。如果 to_str 短于 from_str,则用其最后一个字符填充。两个字符串都可以使用 c1.c2 表示法来表示字符范围,并且 from_str 可以以 ^ 开头,表示除列出的字符之外的所有字符。
|
71 |
str.tr!(from_str, to_str)
使用与 String#tr 相同的规则就地转换 str。返回 str,如果没有进行更改则返回 nil。
|
72 |
str.tr_s(from_str, to_str)
处理 str 的副本,如 String#tr 中所述,然后删除翻译所影响区域中的重复字符。
|
73 |
str.tr_s!(from_str, to_str)
就地对 str 执行 String#tr_s 处理,返回 str,如果没有进行更改则返回 nil。
|
74 |
str.unpack(format)
根据格式字符串解码 str(可能包含二进制数据),返回提取的每个值的数组。格式字符串由一系列单字符指令组成,如表 18 中所述。每个指令后可以跟一个数字,表示使用此指令重复的次数。星号 (*) 将使用所有剩余的元素。指令 sSiIlL 后可以跟下划线 (_) 以使用底层平台为指定类型指定的本机大小;否则,它使用与平台无关的一致大小。格式字符串中的空格将被忽略。
|
75 |
str.upcase
返回 str 的副本,其中所有小写字母都替换为其大写字母对应项。此操作不区分区域设置。只有字符 a 到 z 受影响。
|
76 |
str.upcase!
将 str 的内容更改为大写,如果没有进行更改则返回 nil。
|
77 |
str.upto(other_str) { |s| block }
遍历连续的值,从 str 开始到 other_str(包括)结束,依次将每个值传递给块。String#succ 方法用于生成每个值。
|