我有一个字符串:
s = ExternalLibrary::get_string_data
# ====> my_string_{var1}___{var2}
我要替换“ var1”和“ var2”。这不起作用:
s % {var1: "aa", var2: "bb"}
# ====> my_string_{var1}___{var2}
答案 0 :(得分:0)
一种选择,如果我明白了:
s = "my_string_{var1}___{var2}"
substitute = {var1: "aa", var2: "bb"}
s.split(/\{(.*?)\}/).map { |e| substitute[e.to_sym] || e }.join
#=> "my_string_aa___bb"
答案 1 :(得分:0)
Ruby使用%{
而不是{
进行哈希插值:
s.gsub("{", "%{") % { var1: "foo", var2: "bar" }
# => "my_string_foo___bar"