Ruby中的String字符串对象持有并操纵一个或多个字节的任意序列,最简单的字符串文字包含在单引号中。引号内的文本是字符串的值-
'This is a simple Ruby string literal'
如果您需要在单引号字符串文字中放置撇号,请在其前面加上反斜杠,以使Ruby解释器不会认为它终止了字符串-
'Won\'t you read O\'Reilly\'s book?'
反斜杠还可以转义另一个反斜杠,因此第二个反斜杠本身不会被解释为转义字符。
以下是Ruby的与字符串相关的函数。
表达式替换是一种使用#{expt}将任何Ruby表达式的值嵌入到字符串中的方法-
#!/usr/bin/ruby x, y, z=12, 36, 72 puts "The value of x is #{ x }." puts "The sum of x and y is #{ x + y }." puts "The average was #{ (x + y + z)/3 }."
这将产生以下输出-
链接:https://www.learnfk.comhttps://www.learnfk.com/ruby/ruby-strings.html
来源:LearnFk无涯教程网
The value of x is 12. The sum of x and y is 48. The average was 40.
使用常规的定界字符串,您可以在匹配的一对字符串中创建字符串,但是可以使用任意定界符,如!,(,{,<等,其后是百分号(%)。Q,q和x具有特殊含义 。一般定界的字符串可以是-
%{Ruby is fun.} equivalent to "Ruby is fun." %Q{ Ruby is fun. } equivalent to " Ruby is fun. " %q[Ruby is fun.] equivalent to a single-quoted string %x!ls! equivalent to back tick command output `ls`
Ruby的默认字符集是ASCII,其字符可以用单个字节表示。如果使用UTF-8或其他现代字符集,则字符可能以一到四个字节表示。
您可以在程序开始时使用$KCODE更改字符集,如下所示:
$KCODE='u'
无涯教程需要一个String对象的来调用String字符串方法。以下是创建String对象的的方法-
new [String.new(str="")]
这将返回一个包含 str 副本的新字符串对象。现在,使用 str 对象,都可以使用任何可用的方法。如-
#!/usr/bin/ruby myStr=String.new("THIS IS TEST") foo=myStr.downcase puts "#{foo}"
这将产生以下输出-
链接:https://www.learnfk.comhttps://www.learnfk.com/ruby/ruby-strings.html
来源:LearnFk无涯教程网
this is test
请尝试以下示例来解压缩各种数据。
"abc\0\0abc\0\0".unpack('A6Z6') #=> ["abc", "abc "] "abc\0\0".unpack('a3a3') #=> ["abc", "\000\000"] "abc\0abc\0".unpack('Z*Z*') #=> ["abc ", "abc "] "aa".unpack('b8B8') #=> ["10000110", "01100001"] "aaa".unpack('h2H2c') #=> ["16", "61", 97] "\xfe\xff\xfe\xff".unpack('sS') #=> [-2, 65534] "now=20is".unpack('M*') #=> ["now is"] "whole".unpack('xax2aX2aX1aX2a') #=> ["h", "e", "l", "l", "o"]
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)