Project1
标题:
求判断字串符的关键词的命令?
[打印本页]
作者:
消隐
时间:
2008-12-21 23:47
提示:
作者被禁止或删除 内容自动屏蔽
作者:
天圣的马甲
时间:
2008-12-21 23:57
请查看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。
复制代码
作者:
沉影不器
时间:
2008-12-22 00:44
提示:
作者被禁止或删除 内容自动屏蔽
作者:
消隐
时间:
2009-6-12 08:00
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1