zoukankan      html  css  js  c++  java
  • 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(//).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"]
  • 相关阅读:
    nodejs之express路由与动态路由
    nodejs之mongodb操作
    nodejs之路由
    nodejs之简单应用与运行
    nodejs之fs 模块
    nodejs 之简单web服务器
    C++之结构体struct
    STL之stack
    【剑指offer】05替换空格,C++实现
    【剑指offer】04A二维数组中的查找,C++实现
  • 原文地址:https://www.cnblogs.com/or2-/p/5006973.html
Copyright © 2011-2022 走看看