本文概述
- 引号
- 访问字符串元素
- 多行字符串
- 可变插值
- 连接字符串
- 冻结字符串
- 比较字符串
引号 Ruby字符串文字包含在单引号和双引号中。
例:
#!/usr/bin/ruby puts 'Hello everyone'
puts "Hello everyone"
输出
文章图片
访问字符串元素 你可以使用方括号[]来访问Ruby字符串元素的不同部分。在方括号内写下索引或字符串。
例:
#!/usr/bin/ruby msg = "This tutorial is from srcmini." puts msg["srcmini"]
puts msg["tutorial"] puts msg[0] puts msg[0, 2]
puts msg[0..19]
puts msg[0, msg.length]
puts msg[-3]
输出
文章图片
多行字符串 用Ruby语言编写多行字符串非常简单。我们将展示三种打印多行字符串的方法。
- 字符串可以用双引号引起来。
- 使用%字符, 字符串包含在/字符中。
- 在Heredoc语法中, 我们使用< < , 而字符串包含在单词STRING中。
puts "
A
AB
ABC
ABCD" puts %/
A
AB
ABC
ABCD/ puts <
<
STRING
A
AB
ABC
ABCD
STRING
输出
文章图片
可变插值 Ruby变量插值用字符串文字内部的值替换变量。变量名称放在字符串文字中的#{和}字符之间。
例:
#!/usr/bin/ruby country = "India"
capital = "New Delhi" puts "#{capital} is the capital of #{country}."
输出
文章图片
连接字符串 Ruby串联字符串意味着从多个字符串中创建一个字符串。你可以通过将多个字符串连接起来以形成单个字符串。
有四种方法可以将Ruby字符串连接为单个字符串:
- 在字符串之间使用加号。
- 在字符串之间使用单个空格。
- 在字符串之间使用< < 登录。
- 在字符串之间使用concat方法。
#!/usr/bin/ruby string = "This is Ruby Tutorial" + " from srcmini." + " Wish you all good luck."
puts string string = "This is Ruby Tutorial" " from srcmini." " Wish you all good luck."
puts string string = "This is Ruby Tutorial" <
<
" from srcmini." <
<
" Wish you all good luck."
puts string string = "This is Ruby Tutorial".concat(" from srcmini.").concat(" Wish you all good luck.")
puts string
输出
文章图片
冻结字符串 在大多数编程语言中, 字符串是不可变的。这意味着无法修改现有字符串, 只能从中创建新字符串。
在Ruby中, 默认情况下字符串不是不可变的。为了使它们不可变, 可以使用冻结方法。
例:
#!/usr/bin/ruby str = "Original string"
str <
<
" is modified "
str <
<
"is again modified" puts str str.freeze #str <
<
"And here modification will be failed after using freeze method"
输出
文章图片
在上面的输出中, 我们通过使用Frozen方法使字符串不可变。最后一行带有注释, 因为不能再修改任何字符串。
通过取消注释最后一行, 我们将得到一个错误, 如下面的输出所示。
输出
文章图片
比较字符串 Ruby字符串可以与三个运算符进行比较:
- 使用==运算符:返回true或false
- 用eql?运算子:传回true或false
- 使用casecmp方法:如果匹配, 则返回0;如果不匹配, 则返回1
#!/usr/bin/ruby puts "abc" == "abc"
puts "as ab" == "ab ab"
puts "23" == "32" puts "ttt".eql? "ttt"
puts "12".eql? "12" puts "Java".casecmp "Java"
puts "Java".casecmp "java"
puts "Java".casecmp "ja"
【Ruby字符串用法详细图解】输出
文章图片
推荐阅读
- Ruby XPath和XSLT开发实例
- Ruby套接字编程介绍和实战图解
- Ruby OOPs概念(面向对象编程)
- Ruby范围解释和用法
- Ruby数组介绍和用法图解
- Ruby LDAP开发实战和原理全解
- Ruby多线程编程用法全解
- Ruby模块介绍和用法示例
- Ruby迭代器用法详细图解