如何逃生斜线我正在从PARAMS在罗德应用程序的响应,这样"\"HOO123Wow\""
但我需要它,在一个简单的字符串格式,如"HOO123Wow"
。我已经尝试过gsub
和delete
,但它们都不适用于我的应用程序。红宝石串
mystring = "\"HOO123Wow\""
mystring.gsub("\"", "")
任何建议都会非常有帮助。
如何逃生斜线我正在从PARAMS在罗德应用程序的响应,这样"\"HOO123Wow\""
但我需要它,在一个简单的字符串格式,如"HOO123Wow"
。我已经尝试过gsub
和delete
,但它们都不适用于我的应用程序。红宝石串
mystring = "\"HOO123Wow\""
mystring.gsub("\"", "")
任何建议都会非常有帮助。
使用\\
转义斜杠。试试这个:在参数收到
mystring = "\"HOO123Wow\""
mystring.gsub("\\\"", "")
值== "\"HOO123Wow\""
实际值要坚持== "HOO123Wow"
这里就是我所做的:
irb(main):001:0> mystring = "\"HOO123Wow\""
=> "\"HOO123Wow\""
irb(main):002:0> puts mystring.gsub("\\\"","")
"HOO123Wow"
=> nil
希望工程为您。
注: 我使用红宝石1.9.2p0(2010-08-18)[I386-的mingw32]
简单而优雅的方式:
string = "\"HOO123Wow\""
=> "\"HOO123Wow\""
string.tr('"','')
=> "HOO123Wow"
完成。 :)
irb(main)> eval mystring
=> "HOO123Wow"
或
irb(main)> mystring.delete ?"
=> "HOO123Wow"
你开始的字符串实际上是' “HOO123Wow”'。写'mystring ='“HOO123Wow”''创建完全相同的字符串。当我的字符串有任何引号时,我非常喜欢这种符号:'mystring =%{“HOO123Wow”}'。 '{}'只是许多可能的字符对中的一个:'''','<>','()','[]'等等。 –
'mystring.gsub(“\”“,”“)''有什么问题?它删除字符串中的所有引号''',只返回字母数字字符。除此之外,您无法剥离字符串。 – Casper
克里斯托夫的评论很有价值。 Ruby的不同字符串声明格式可以达到这些目的。我试过'%{“H00123Wow”}。delete%{“}'并且它可以工作。 – josemota