您的位置:首页 > 编程语言 > Ruby

ruby 字符串学习2

2015-11-30 14:00 597 查看
在一个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"]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: