当前位置:K88软件开发文章中心编程全书编程全书03 → 文章内容

Ruby 字符串(String)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 12:58:18

Ruby 字符串(String)Ruby 中的 String 对象用于存储或操作一个或多个字节的序列。Ruby 字符串分为单引号字符串(')和双引号字符串("),区别在于双引号字符串能够支持更多的转义字符。单引号字符串最简单的字符串是单引号字符串,即在单引号内存放字符串:'这是一个 Ruby 程序的字符串'如果您需要在单引号字符串内使用单引号字符,那么需要在单引号字符串使用反斜杠(\),这样 Ruby 解释器就不会认为这个单引号字符是字符串的终止符号:'Won\'t you read O\'Reilly\'s book?'反斜杠也能转义另一个反斜杠,这样第二个反斜杠本身不会解释为转义字符。以下是 Ruby 中字符串相关的特性。双引号字符串在双引号字符串中我们可以使用





#{} 井号和大括号来计算表达式的值:字符串中嵌入变量:实例





#!/usr/bin/ruby





# -*- coding:





UTF-8 -*-





name1 = "Joe"name2 = "Mary"puts "你好





#{name1},





#{name2} 在哪?"尝试一下 ?以上实例输出运行输出结果为:你好 Joe, Mary 在哪?字符串中进行数学运算:实例





#!/usr/bin/ruby





# -*- coding:





UTF-8 -*-





x, y, z = 12, 36, 72puts "x 的值为





#{ x }"puts "x + y 的值为





#{ x + y }"puts "x + y + z 的平均值为





#{ (x + y + z)/3 }"尝试一下 ?以上实例输出运行输出结果为:x 的值为 12x + y 的值为 48x + y + z 的平均值为 40Ruby 中还支持一种采用 %q 和 %Q 来引导的字符串变量,%q 使用的是单引号引用规则,而 %Q 是双引号引用规则,后面再接一个 (! [ { 等等的开始界定符和与 } ] ) 等等的末尾界定符。跟在 q 或 Q 后面的字符是分界符.分界符可以是任意一个非字母数字的单字节字符.如:





[,{,(,实例





#!/usr/bin/ruby





# -*- coding:





UTF-8 -*-





desc1 = %Q{Ruby 的字符串可以使用 '' 和 ""。}desc2 = %q|Ruby 的字符串可以使用 '' 和 ""。|puts desc1puts desc2尝试一下 ?以上实例输出运行输出结果为:Ruby 的字符串可以使用 '' 和 ""。Ruby 的字符串可以使用 '' 和 ""。转义字符下标列出了可使用反斜杠符号转义的转义字符或非打印字符。注意:在一个双引号括起的字符串内,转义字符会被解析。在一个单引号括起的字符串内,转义字符不会被解析,原样输出。反斜杠符号十六进制字符描述\a0x07报警符\b0x08退格键\cx Control-x\C-x Control-x\e0x1b转义符\f0x0c换页符\M-\C-x Meta-Control-x\n0x0a换行符\nnn 八进制表示法,其中 n 的范围为 0.7\r0x0d回车符\s0x20空格符\t0x09制表符\v0x0b垂直制表符\x 字符 x\xnn 十六进制表示法,其中 n 的范围为 0.9、 a.f 或 A.F字符编码Ruby 的默认字符集是 ASCII,字符可用单个字节表示。如果您使用 UTF-8 或其他现代的字符集,字符可能是用一个到四个字节表示。您可以在程序开头使用 $KCODE 改变字符集,如下所示:$KCODE = 'u'下面是 $KCODE 可能的值。编码描述aASCII (与 none 相同)。这是默认的。eEUC。nNone (与 ASCII 相同)。uUTF-8。字符串内建方法我们需要有一个 String 对象的实例来调用 String 方法。下面是创建 String 对象实例的方式:new [String.new(str="")]这将返回一个包含 str 副本的新的字符串对象。现在,使用 str 对象,我们可以调用任意可用的实例方法。例如:实例





#!/usr/bin/rubymyStr = String.new("THIS IS TEST")foo = myStr.downcaseputs "





#{foo}"这将产生以下结果:this is test下面是公共的字符串方法(假设 str 是一个 String 对象):序号方法 & 描述1str % arg使用格式规范格式化字符串。如果 arg 包含一个以上的替代,那么 arg 必须是一个数组。如需了解更多格式规范的信息,请查看"内核模块"下的 sprintf。2str * integer返回一个包含 integer 个 str 的新的字符串。换句话说,str 被重复了 integer 次。3str + other_str连接 other_str 到 str。4str << obj连接一个对象到字符串。如果对象是范围为 0.255 之间的固定数字 Fixnum,则它会被转换为一个字符。把它与 concat 进行比较。5str <=> other_str把 str 与 other_str 进行比较,返回 -1(小于)、0(等于)或 1(大于)。比较是区分大小写的。6str == obj检查 str 和 obj 的相等性。如果 obj 不是字符串,则返回 false,如果 str <=> obj,则返回 true,返回 0。7str =~ obj根据正则表达式模式 obj 匹配 str。返回匹配开始的位置,否则返回 false。8str[position]





# 注意返回的是ASCII码而不是字符str[start, length]str[start..end]str[start...end]使用索引截取子串9str.capitalize把字符串转换为大写字母显示。10str.capitalize!与 capitalize 相同,但是 str 会发生变化并返回。11str.casecmp不区分大小写的字符串比较。12str.center居中字符串。13str.chomp从字符串末尾移除记录分隔符($/),通常是 \n。如果没有记录分隔符,则不进行任何操作。14str.chomp!与 chomp 相同,但是 str 会发生变化并返回。15str.chop移除 str 中的最后一个字符。16str.chop!与 chop 相同,但是 str 会发生变化并返回。17str.concat(other_str)连接 other_str 到 str。18str.count(str, ...)给一个或多个字符集计数。如果有多个字符集,则给这些集合的交集计数。19str.crypt(other_str)对 str 应用单向加密哈希。参数是两个字符长的字符串,每个字符的范围为 a.z、 A.Z、 0.9、 . 或 /。20str.delete(other_str, ...)返回 str 的副本,参数交集中的所有字符会被删除。21str.delete!(other_str, ...)与 delete 相同,但是 str 会发生变化并返回。22str.downcase返回 str 的副本,所有的大写字母会被替换为小写字母。23str.downcase!与 downcase 相同,但是 str 会发生变化并返回。24str.dump返回 str 的版本,所有的非打印字符被替换为 \nnn 符号,所有的特殊字符被转义。25str.each(separator=$/) { |substr| block }使用参数作为记录分隔符(默认是 $/)分隔 str,传递每个子字符串给被提供的块。26str.each_byte { |fixnum| block }传递 str 的每个字节给 block,以字节的十进制表示法返回每个字节。27str.each_line(separator=$/) { |substr| block }使用参数作为记录分隔符(默认是 $/)分隔 str,传递每个子字符串给被提供的 block。28str.empty?如果 str 为空(即长度为 0),则返回 true。29str.eql?(other)如果两个字符串有相同的长度和内容,则这两个字符串相等。

[1] [2] [3]  下一页


Ruby 字符串(String)