使用Regex -Ruby将变量插入字符串中



我很难使用正则表达式将外部变量插入字符串。

我的字符串看起来像:

    string = "7  -"

我想将整数作为字符串插入" 7"one_answers" - - 我尝试使用插值之间的空间,例如:

    variable = "15"
    string = string.gsub(/(S?d+)(s)(s)(D)/, '12#{variable}34')

( s?是指数是正面还是负数的任何" - ")

输出是一个看起来像这样的字符串:

    "7 #{variable} -"

,但我希望输出看起来像这样:

    "7 15 -"

这是解决您问题的优雅解决方案:

s = "7  -"
v = 15
string = s.gsub(/ds/, "#{s.delete("-").strip} #{v}")
#=> "7 15 -"

使用双引号。单引号的字符串不插入。

string = "7  -"
variable = "15"
string = string.gsub(/(S?d+)(s)(s)(D)/, "\1\2#{variable}\3\4")
string # => "7 15 -"

最新更新