ruby 字符串学习2

在一个ruby字符串中包含表但是或者变量。想使用不同的值替换表达式或者变量

1 类似java 或者python的printf-style方式

template = ‘Oceania has always been at war with %s.‘
template % ‘Eurasia‘ # => "Oceania has always been at war with Eurasia."
template % ‘Eastasia‘ # => "Oceania has always been at war with Eastasia."
‘To 2 decimal places: %.2f‘ % Math::PI # => "To 2 decimal places: 3.14"

‘Zero-padded: %.5d‘ % Math::PI  # => "Zero-padded: 00003"

2 或者使用erb,因为我用的ide,所以最后一行使用的是kernel.binding ,如果你在irb中,可以只使用binding

require ‘erb‘
template = ERB.new %q{Chunky <%= food %>!}
food = "bacon"
puts output = template.result(Kernel.binding)

3翻转字符串

s = ".sdrawkcab si gnirts sihT"
s.reverse # => "This string is backwards."
s  # => ".sdrawkcab si gnirts sihT"

s.reverse! # => "This string is backwards."
s  # => "This string is backwards."
s = "order. wrong the in are words These"
s.split(/(\s+)/).reverse!.join(‘‘) # => "These words are in the wrong order."

s.split(/\b/).reverse!.join(‘‘) # => "These words are in the wrong. order"

(\s+)和\s+区别,(\s+)匹配的空格会包含返回列表中

"Three little words".split(/\s+/)
# => ["Three", "little", "words"]
"Three little words".split(/(\s+)/)
# => ["Three", " ", "little", " ", "words"]
时间: 2024-08-07 08:26:35

ruby 字符串学习2的相关文章

redis ruby客户端学习( 二)

接上一篇redis ruby客户端学习( 二) 对于redis的五种数据类型:字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets),上一篇介绍了字符串. 1,哈希(Map) hset.设置 key 指定的哈希集中指定字段的值.如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联.如果字段在哈希集中存在,它将被重写. require "redis" r = Redis.new r.hset 'my_h

redis ruby客户端学习( 三)

接上一篇redis ruby客户端学习( 二) 对于redis的五种数据类型:字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets),上一篇介绍了哈希和列表. 一,集合 mset.添加一个或者多个元素到集合(set)里 require "redis" r = Redis.new r.mset 'my_set', 'value1' scard.返回集合存储的key的基数 (集合元素的数量). r.scard 'my_set

网易云课堂程序设计入门--C语言第七周:指针与字符串学习笔记

====================================== 第七周:指针与字符串学习笔记 网易云课堂 程序设计入门–C语言 指针与字符串 学习笔记 ====================================== 7-1指针初步 7-1-1类型大小与取地址运算 sizeof是一个运算符 给出某个变量货类型在内存中所占据的字节数 sizeof(int); sizeif(i); double变量在内存中占据的空间是int变量的两倍 { int a; a =6; prin

字符串学习总结

字符串前加r:表示原字符串 字符串前加u:表示Unicode编码 单引号.双引号.三引号(单引号.双引号皆可)...的含义: 在python中字符串可以用单引号括起来,也可以用双引号,这两种方式是等价的. python 三引号的形式用来输入多行文本,也就是说在三引号之间输入的内容将被原样保留,之中的单号和双引号不用转义,其中的不可见字符比如/n和/t都会被保留,这样的好处是你可以替换一些多行的文本. 可参考:http://blog.csdn.net/wanghai__/article/detai

ruby字符串相关方法

构造字符串字面量 方法一:最简单的使用单引号或者双引号括起来的字符串,比如"hello". 方法二:使用%q配合分界符,%q代表单引号str=%q!he/lo! 方法三:使用%Q配合分界符,%Q代表双引号str=%Q{he/lo} 方法四:here document构建字符串,该方法比较适合用于多行字符串的创建.由<<和边界字符串作为开头,由边界字符串作为结尾,比如下列代码:str = <<END_OF_STRING1  We are here now,  wh

字符串学习笔记

字符串学习笔记 注:本文涉及到的所有变量名均与模板中变量名同步.模板链接 一.Hash 1.双Hash 2.链式Hash 3.树Hash 二.KMP 1.概述 查询字符串 \(t\) 在字符串 \(s\) 中出现过的所有位置.时间复杂度 \(O(len(s)+len(t))\). char *s = "abacaba"; char *t = "aba"; 0 1 2 3 4 5 6 a b a c a b a \(t\) 在 \(s\) 中出现过的位置为0.4. 2

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

Ruby 字符串(String) Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符. 最简单的字符串是括在单引号(单引号字符)内.在引号标记内的文本是字符串的值: 'This is a simple Ruby string literal' 如果您需要在单引号字符串内使用单引号字符,那么需要在单引号字符串使用反斜杠,这样 Ruby 解释器就不会认为这个单引号字符会终止字符串: 'Won\'t you read O\'Reilly\'s book

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

String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建. a = "hello" b = String.new("world") Ruby中的字符串是可变对象. 字符串的连接 直接连接即可: >> "a""b" => "ab" >> "a" "b" =>

Ruby字符串《转》

Ruby很强大,可是相关资料少而不详细.本文是个人学习总结,测试环境是windows xp sp3 + NetBeans6.7.1(JRuby 1.2.0),主要结论来自于互联网."Programming Ruby"2e.对于源代码的分析和实测代码. 双引号字符串和单引号字符串 都能表示字符串对象,区别在于双引号字符串能够支持更多的转义字符.下面的代码在字符串中增加了'符号. str='he'lo' puts str 显示结果为he'lo. 单引号仅支持// => / 和 /'