我有以下字符串:
a = "001;Barbara;122"
我拆分成字符串数组:
names = a.split(";")
names = ["001", "Barbara", "122"]
我应该怎么做才能将每个元素另外用 '' 引号括起来? 结果应该是
names = ["'001'", "'Barbara'", "'122'"]
我知道这听起来很奇怪,但我需要它在 ruby on rails 中进行数据库查询。出于某种原因,如果我的名字在“”引号中,我将无法访问数据库记录。我在数据库中确实有 mk1==0006 但 rails 不想以某种方式访问它。但是,它确实访问 1222。
sql = "SELECT mk1, mk2, pk1, pk2, pk3, value_string, value_number FROM infos WHERE mk1 in (0006) AND value_string ='männlich';"
recs = ClinicdbInfo.find_by_sql(sql)
=> []
sql = "SELECT mk1, mk2, pk1, pk2, pk3, value_string, value_number FROM infos WHERE mk1 in (1222) AND value_string ='männlich';"
recs = ClinicdbInfo.find_by_sql(sql)
=> [#<Info mk1: "1222", mk2: "", pk1: "Information allgemein", pk2: "Geschlecht", pk3: "Wert", value_string: "männlich", value_number: nil>]
因此,我只需要将 names 的每个元素包装到额外的 ''-quotes 中。
最佳答案
names.map{ |e| "'" + e + "'" }
=> ["'001'", "'Barbara'", "'122'"]
或
names.map{ |e| "'#{e}'" }
=> ["'001'", "'Barbara'", "'122'"]
关于ruby-on-rails - ruby:将数组的每个元素用附加引号引起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276873/