Ruby 字符串
Ruby 字符串
Ruby 字符串对象保存和操作任意字节序列,通常表示字符。它们是使用 String::new 或作为文字创建的。
引号
Ruby 字符串文字用单引号和双引号括起来。
示例:
#!/usr/bin/ruby puts
'Hello everyone' puts
"Hello everyone"
输出:
访问字符串元素
您可以借助方括号 [] 访问不同部分的 Ruby 字符串元素。在方括号内写入索引或字符串。
示例:
#!/usr/bin/ruby msg =
"this tutorial is from lidihuo." puts msg[
"lidihuo"] 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 中。< span>
示例:
puts " A AB ABC ABCD" puts %/ A AB ABC ABCD/ puts <<STRING A AB ABC ABCD STRING
输出:
变量插值
Ruby 变量插值是用字符串文字内的值替换变量。变量名放在字符串文字中的 #{ 和 } 字符之间。
示例:
#!/usr/bin/ruby coun
try =
"India" capital =
"New Delhi" puts
"#{capital} is the capital of #{country}."
输出:
连接字符串
Ruby 连接字符串意味着从多个字符串创建一个字符串。您可以通过连接将多个字符串连接起来形成单个字符串。
有四种方法可以将 Ruby 字符串连接成单个字符串:
在字符串之间使用加号。
在字符串之间使用一个空格。
在字符串之间使用<
<登录。< span>
在字符串之间使用 concat 方法。
示例:
#!/usr/bin/ruby string =
"this is Ruby Tutorial" +
" from lidihuo." +
" Wish you all good luck." puts string string = "
this is Ruby Tutorial" " from lidihuo." " Wish you all good luck." puts string string = "
this is Ruby Tutorial" << " from lidihuo." << " Wish you all good luck." puts string string = "
this is Ruby Tutorial".
concat("from lidihuo.
").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"
输出:
在上面的输出中,我们使用冻结方法使字符串不可变。最后一行被注释,因为不能进一步修改任何字符串。
通过取消对最后一行的注释,我们将得到如下输出所示的错误。
输出:
比较字符串
Ruby 字符串可以用三个运算符进行比较:
使用 == 运算符: 返回真或假
用 eql?运算符: 返回真或假
使用 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"
输出:
登录。<>
并且字符串包含在单词>