Ruby 字符串

  • 字符串

    Ruby中的String对象持有并操纵一个或多个字节的任意序列,通常表示代表人类语言的字符。最简单的字符串文字包含在单引号中。引号内的文本是字符串的值-
    
    'This is a simple Ruby string literal'
    
    如果需要在单引号中将单引号放在单引号中,请在其前面加上反斜杠,以便Ruby解释器不会认为它终止了字符串-
    
    'Won\'t you read O\'Reilly\'s book?'
    
    反斜杠还可以转义另一个反斜杠,因此第二个反斜杠本身不会被解释为转义字符。以下是Ruby的与字符串相关的功能。
  • 表达替代

    表达式替换是一种使用#{和}将任何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 }."
    
    尝试一下
  • 一般定界字符串

    使用常规的定界字符串,您可以在匹配的一对字符串中创建字符串,但可以使用任意定界符,例如!,(,{,<等,其后是百分号(%)。Q,q和x具有特殊含义。一般定界的字符串可以是-
    
    %{Ruby is fun.} 相当于 "Ruby is fun."
    %Q{ Ruby is fun. } 相当于 " Ruby is fun. "
    %q[Ruby is fun.]  等效于单引号字符串
    %x!ls! 等效于反向滴答命令输出 `ls`
    
  • 字符编码

    Ruby的默认字符集是ASCII,其字符可以用单个字节表示。如果使用UTF-8或其他现代字符集,则字符可能以一到四个字节表示。您可以在程序开始时使用$KCODE更改字符集,如下所示:
    示例
    
    $KCODE = 'u'
    
  • 字符串内置方法

    我们需要一个String对象的实例来调用String方法。以下是创建String对象的实例的方法-
    
    new [String.new(str = "")]
    
    这将返回一个包含str副本的新字符串对象。现在,使用str对象,我们都可以使用任何可用的实例方法。例如
    
    myStr = String.new("THIS IS TEST")
    foo = myStr.downcase
    
    puts "#{foo}"
    
    尝试一下
  • 字符串解压缩指令

    请尝试以下示例来解压缩各种数据。
    
    "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"]
    
    更多内置函数,参考方法,请查阅参考手册。