📅  最后修改于: 2021-01-08 13:10:32             🧑  作者: Mango
Ruby字符串对象保存并操纵一个字节的任意序列,通常表示字符。它们是使用String :: new或字面量的。
Ruby字符串字面量包含在单引号和双引号中。
例:
#!/usr/bin/ruby
puts 'Hello everyone'
puts "Hello everyone"
输出:
您可以使用方括号[]来访问Ruby字符串元素的不同部分。在方括号内写下索引或字符串。
例:
#!/usr/bin/ruby
msg = "This tutorial is from JavaTpoint."
puts msg["JavaTpoint"]
puts msg["tutorial"]
puts msg[0]
puts msg[0, 2]
puts msg[0..19]
puts msg[0, msg.length]
puts msg[-3]
输出:
用Ruby语言编写多行字符串非常简单。我们将展示三种print多行字符串。
例:
puts "
A
AB
ABC
ABCD"
puts %/
A
AB
ABC
ABCD/
puts <
输出:
Ruby变量插值用字符串字面量内部的值替换变量。变量名称放在字符串字面量的#{和}个字符之间。
例:
#!/usr/bin/ruby
country = "India"
capital = "New Delhi"
puts "#{capital} is the capital of #{country}."
输出:
Ruby串联字符串意味着从多个字符串创建一个字符串。你可以加入多个字符串通过连接他们形成一个字符串。
有四种方法可以将Ruby字符串连接为单个字符串:
例:
#!/usr/bin/ruby
string = "This is Ruby Tutorial" + " from JavaTpoint." + " Wish you all good luck."
puts string
string = "This is Ruby Tutorial" " from JavaTpoint." " Wish you all good luck."
puts string
string = "This is Ruby Tutorial" << " from JavaTpoint." << " Wish you all good luck."
puts string
string = "This is Ruby Tutorial".concat(" from JavaTpoint.").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字符串可以与三个运算符进行比较:
例:
#!/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"
输出: