在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示。简单的字符串文本括在单引号中,如

'This is a simple Ruby string literal'

如果需要内置一个单引号,单引号的字符串文字,需要在单引号前面加一个反斜杠,Ruby解释器才不认为遇到了终止字符串,如:

'Won\'t you read O\'Reilly\'s book?'

打印结果为:

Won't you read O'Reilly's book?

反斜杠也可以转义另一个反斜杠,这样第二个反斜杠本身不被解释为转义字符

以下是字符串相关功能:

表达式替换

表达式替换是嵌入任何Ruby表达式的值转换成字符串使用的一种手段,可用#{and}替换,如

x,y,z = 12,36,72
puts "The value of x is #{x}."
puts "The sub of x and y is #{x + y}."
puts "The average was #{ (x + y + z)/3 }."

输出如下:

The value of x is 12.
The sub of x and y is 48.
The average was 40.

字符编码方式:

Ruby的默认字符集是ASCll码,字符可能会由单字节表示。如果使用UTF-8或另一种现代字符集,字符可能会以四个字节表示。可以更改字符集使用$KCODE在程序的开始行,像这样:

$KCODE = 'u'

以下是$KCODE可能的值:

code 描述
a ASCLL (default)
e EUC
n None(same ad ASCll)
u UTF-8

字符串的内置方法

我们需要有一个String对象实例调用一个String方法。以下的方法来创建String对象的一个实例:

new [String.new(str="")]

这将返回一个新的字符串对象,其中包含str的一个副本。

myStr = String.new("THIS IS TEST")
foo = myStr.downcase
puts "#{foo}"

这将产生以下结果

this is test

Ruby字符串的更多相关文章

  1. ruby 字符串学习2

    在一个ruby字符串中包含表但是或者变量.想使用不同的值替换表达式或者变量 1 类似java 或者python的printf-style方式 template = 'Oceania has alway ...

  2. 雷林鹏分享:Ruby 字符串(String)

    Ruby 字符串(String) Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符. 最简单的字符串是括在单引号(单引号字符)内.在引号标记内的文本 ...

  3. Ruby字符串(1):String基本用法

    String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建. a = "hello" b = Stri ...

  4. ruby 字符串学习笔记1

    1 从一种数据结构中构件字符串 hash = { key1: "val1", key2: "val2" } string = "" hash ...

  5. ruby字符串相关方法

    构造字符串字面量 方法一:最简单的使用单引号或者双引号括起来的字符串,比如"hello". 方法二:使用%q配合分界符,%q代表单引号str=%q!he/lo! 方法三:使用%Q配 ...

  6. Ruby字符串的一些方法

    最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看 看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样 主要是我们对字符串进 ...

  7. ruby 字符串常用方法学习

    引用链接:http://www.blogjava.net/nkjava/archive/2010/01/03/308088.html 1,切片:silce, [ ]-----------------[ ...

  8. Ruby字符串(2):String方法详细整理

    String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...

  9. ruby字符串学习笔记5

    1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] ...

随机推荐

  1. C#微信公众平台接入示例代码

    http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html 这是微信公众平台提供的接入指南.官网只提供了php的示例代码 ...

  2. UOJ59 WC2013 小Q运动季

    题意:给一个模线性方程组,构造解满足尽量多的方程. 直接枚举. 模数两两互质,先排除无解的,然后CRT,然而要高精,上python. 直接高消,有完美解. 2^20暴搜. 分解模数,对每个质数高消,C ...

  3. ui library

    https://github.com/twbs/bootstrap https://github.com/semantic-org/semantic-ui/ https://github.com/zu ...

  4. 【原】作为前端需要了解的B/S架构

    其实B/S架构是属于后台方面的东西,不过作为一个前端,也是需要了解一下滴 C/S架构简要介绍 在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构: C/S架构是第一种比较早的软件架构,主要 ...

  5. TeXstudio 编写Latex论文的若干问题

    TeXstudio 编写Latex论文的若干问题解决方案总结       问题1: 如何安装TeXstudio 以及 Texstudio当中的中文字体使用问题.   一.如何安装TeXstudio 很 ...

  6. [原创] Delphi小工具(Windows资源管理器右键菜单扩展)

    两个小工具 1. 项目临时文件清理 2. Android Ndk 编译 c/c++ jni 源码工具. 下载后,点击Reg.bat就可以完成注册安装.不需要时点击 UnReg.Bat 就可以删除菜单. ...

  7. 室内定位系列(一)——WiFi位置指纹(译)

    原文:<Advanced Location-Based Technologies and Services>--chapter 2 WiFi Location Fingerprint 作者 ...

  8. 一个php 字符串判断问题

    先看代码 你觉得下面的代码会输出什么结果: <?php $a = "10"; $b = "1e1"; if($a == $b ) { echo " ...

  9. Jquery 小技巧

    [每个程序员都会的35个jQuery的小技巧]收集的35个jQuery的小技巧/代码片段,可以帮你快速开发

  10. python smtp 群发邮件

    最近工作中遇到使用脚本处理问题并发送结果邮件,使用python的smtp模块很简单的完成了实现.今天遇到一个问题,根据脚本的测试结果需要群发邮件,但是发送邮件的py文件只有首个地址收到了邮件.仔细排查 ...