ruby中替换

Ruby String

http://simohayha.javaeye.com/category/15272 里面有关于String的详细介绍

13 在一个string中进行替换.

我们可以使用sub或者gsub方法来进行替换,他们两个方法第一个参数都是接受正则表达式。其中,sub方法替换掉第一个匹配的地方,而gsub方法替换掉左右匹配的地方:

代码
  1. s1 = "spam, spam, and eggs"  
  2. s2 = s1.sub(/spam/,"bacon")                # "bacon, spam, and eggs"  
  3.   
  4. s3 = s2.sub(/(\w+), (\w+),/,'\2, \1,')     # "spam, bacon, and eggs"  
  5.   
  6. s4 = "Don't forget the spam."  
  7. s5 = s4.sub(/spam/) { |m| m.reverse }      
  8. s5 = "alfalfa abracadabra"  
  9. s6 = s5.gsub(/a[bl]/,"xx")      # "xxfxxfa xxracadxxra"  
  10. s5.gsub(/[lfdbr]/) { |m| m.upcase + "-" }   
  11. # s5 is now "aL-F-aL-F-a aB-R-acaD-aB-R-a"  

 

我的程序中,一个text_area用于接收用户评论,需要保留用户输入的回车,换行,具体做法就是,在controller的create方法中,增加:
def create
Opinion.new(params[:opinion])
    @[email protected](/\r\n/,"<br/>")

 

另外:

我要要将

v3="/trunk//stock.js/assets/3.0b/sku/util.js/trunk/tbskip.js/trunk/malldetail/assets/3.0b/sku/s.css"

想要吧以每个js或者css结尾的文件单独的换行显示出来

 

 v2 = v3.gsub(/j[s]/, 'js

      ').gsub(/c[ss]/, 'css

      ')

 

puts v2

 ok啦啦啦

 

 

 

 

猜你喜欢

转载自miss678.iteye.com/blog/1739031