如何避免在Rails字符串中开始和结束双引号?

Praveenkumar

我的字符串是这样的,"SHN::test::cg1","RDC::TEST::CONFIG 1"但是当将其存储在变量中时

new_string="SHN::test::cg1","RDC::TEST::CONFIG 1","MDC::test::cg1"

我像这样的“#{new_string}”进行插值。值就像

""SHN::test::cg1","RDC::TEST::CONFIG 1""

更新1:这是我需要使用该场景的情况

$redis.subscribe("RDC::TEST::CONFIG 1","SHN::test::cg1") do |on|
 #hardcoded values inside braces
end

但是我需要传递一个变量来形成上面尝试过的字符串(在大括号内)

$redis.subscribe("#{new_string}") do |on|
 #interpolated value inside braces
end

更新2:答案我只需要传递new_string作为数组本身,不需要转换为字符串,这就是我的情况的答案

$redis.subscribe(new_string) do |on|
     #interpolated value inside braces
 end

提前致谢....

罗伯特·纽贝尔

new_string实际上是一个数组,而不是字符串!原因是因为您实际上有三个用逗号分隔的字符串,所以Ruby将其解析为字符串数组:

irb> new_string="SHN::test::cg1","RDC::TEST::CONFIG 1","MDC::test::cg1"
=> ["SHN::test::cg1", "RDC::TEST::CONFIG 1", "MDC::test::cg1"]

然后将其插值到新字符串中时,Ruby会调用.to_sArray,该数组(取决于Ruby的版本)会产生您所看到的内容:

irb> ["SHN::test::cg1","RDC::TEST::CONFIG 1","MDC::test::cg1"].to_s
=> "[\"SHN::test::cg1\", \"RDC::TEST::CONFIG 1\", \"MDC::test::cg1\"]"

irb> puts ["SHN::test::cg1","RDC::TEST::CONFIG 1","MDC::test::cg1"].to_s
["SHN::test::cg1", "RDC::TEST::CONFIG 1", "MDC::test::cg1"]

要解决此问题,只需制作new_string一个实际的字符串(通过在定义中修正语法)。或者,您自己将数组转换为字符串,例如:

irb> "#{new_string.join('')}"
=> "SHN::test::cg1RDC::TEST::CONFIG 1MDC::test::cg1"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

替换字符串中的单引号和双引号

如何修剪字符串的双引号和双引号?

如何使用正则表达式分隔双引号字符串和非双引号字符串?

正则表达式-用开始和结束引号替换带引号的字符串

如何避免使用正则表达式将字符串括在双引号中?

如何替换字符串中的双引号?

如何替换字符串中的双引号?

如何删除json字符串中的反斜杠和双引号

如何转义字符串中的所有特殊字符(以及单引号和双引号)?

基本-如何在字符串中包含双引号?

如何避免令牌化中的双引号字符串,站点URL和电子邮件地址

替换字符串中的单引号和双引号

ANTLRv4:如何读取字符串中的双引号转义双引号?

如何避免在双引号字符串中打印变量

Java正则表达式选择字符串中的开始和结束引号

当双引号出现时如何在Java中结束字符串

字符串中的单引号和双引号的grep

如何从URL查询参数中检查Rails参数哈希是否包含双引号字符串?

Python字符串文字-字符串中包括单引号和双引号

如何处理csv字符串中的双引号和逗号?

在字符串中查找开始和结束引号

如何删除字符串开头和结尾的双引号

如何从字符串中删除双引号

如何使用转义匹配双引号中的字符串?

如何从字符串中删除单引号或双引号?

如何通过避免转义引号按双引号单词拆分字符串

如何从字符串中查找子字符串的开始和结束索引

如何在字符串中添加双引号?

从Ruby中数组的开始和结束中删除双引号