我在rails中的ruby代码:
WebFontConfig = {
google: { families: [<%= @text %>] }
}
给我这样的结果:
WebFontConfig = {
google: { families: [Aclonica,Aclonica,Acme,Acme,Aclonica] }
}
但我需要这样的结果:
WebFontConfig = {
google: { families: ['Aclonica','Acme'] }
}
所以我需要广告周围的文字,只采取独特的回忆。我该怎么办?
答案 0 :(得分:1)
我猜这个样本是erb模板。
@text在控制器中定义为@text = 'Aclonica,Aclonica,Acme,Acme,Aclonica'
在这种情况下,您可以使用下一个简单的正则表达式:
WebFontConfig = {
google: { families: [<%= @text.split(',').uniq.join(',').gsub(/[^,]+/, "'\\0'").html_safe %>] }
}
答案 1 :(得分:1)
这是您可以使用的方法。
input = "Aclonica,Aclonica,Acme,Acme,Aclonica"
def format(text_string = "")
text_string
.split(",")
.uniq
.map { |string| "'" + string + "'" }
.join(", ")
end
format(input) #=> "'Aclonica', 'Acme'"