字符串的创建
普通创建
Ruby中使用**” “或‘ ‘符号来创建字符串,在字符串中也可以包含表达式#{}**,这个表达式被称之为内嵌表达式。如果字符串中需要包含””或者’’等字符时,则可以通过转义字符\来实现。
1 | str = "this is a string" |
%Q或%q创建
针对字符串中包含””或’’等字符的,建议采用**%Q或者%q来创建字符串,这样更加清晰明了。使用%Q相当于“ “创建字符串,%q相当于‘ ‘**创建字符.
1 | puts %Q(this string created by %Q) |
Here Document创建,
对于字符串中包含换行符的字符串,使用Here Document语法来创建极为方便。Here Document是Unix中使用Shell的一种语法,通常用**<<**来创建字符串。其语法结构如下:
<<"结束标识符"
字符串内容
结束标识符
注意:结束标识符可以使用” “或’ ‘来定义,使用” “时,字符串内可以使用转义字符和内嵌表达式,而’ ‘则不会,只会原封不动的显示所有字符。
一般使用*EOF(End of File)或EOB(End of Block)*等作为结束标识符。
1 | str = <<EOB |
如果字符串中存在缩进,可以使用**<<-来替代<<**,这样将会保持字符串定义中的缩进。
使用
通过使用`命令`, 可以创建命令的标准输出并将其转换为字符串对象。
1 | str = `ls -l` |
使用printf和sprintf
printf与sprintf均是可以输出指定格式的字符串,不同之处在于printf会将字符串直接输出在控制台上,而sprintf则会将字符串转为为字符串对象。
1 | number = 123 |
字符串长度
用length方法和size方法获取字符串长度。bytesize方法可以获取字节长度。
1 | str = "This is a string" |
判断字符串是否为空,可用**empty?**方法。
1 | #judge the string if is empty |
字符串的索引与数组的索引用法一样,可参照使用
字符串的连接
字符串的连接有以下两种情况:
- 将字符串合并为一个新的字符串
- 扩展原有字符串
使用**+**可以合并两个字符串时,会创建一个新的字符串。
1 | #using '+', will create a new string object |
如果只想扩展原有字符串,可以使用**<<或concat**方法。
1 | #using '<<', will change the original string object |
注意:一般情况下使用*<<和concat*方法更有效率,但是也可以根据情况而定