Ruby - Strings(字符串)

首页 / Ruby入门教程 / Ruby - Strings(字符串)

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 }."

这将产生以下输出-

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或其他现代字符集,则字符可能以一到四个字节表示。

链接:https://www.learnfk.comhttps://www.learnfk.com/ruby/ruby-strings.html

来源:LearnFk无涯教程网

您可以在程序开始时使用$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}"

这将产生以下输出-

this is test

unpack指令

请尝试以下示例来解压缩各种数据。

"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"]

这一章《Ruby - Strings(字符串)》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持

好记忆不如烂笔头。留下你的足迹吧 :)

相关推荐

从0开始学微服务 -〔胡忠想 - 〕

研发效率破局之道 -〔葛俊 - 〕

Flink核心技术与实战 -〔张利兵 - 〕

程序员的测试课 -〔郑晔 - 〕

Gemfile.lock 是否应该包含在 .gitignore 中?

创建一个哈希值作为数组和默认值作为空数组

有没有办法在 RSpec 中取消存根?

如何调试/显示使用 RestClient 发送的请求

通过brew 软件安装 memcached,如何启动和停止服务器?

Rails 控制台中没有数据库连接

视频推荐

Ruby - 定义一个函数 更多视频教程 »