2012-06-28 125 views
0

如何逃生斜线我正在从PARAMS在罗德应用程序的响应,这样"\"HOO123Wow\"" 但我需要它,在一个简单的字符串格式,如"HOO123Wow"。我已经尝试过gsubdelete,但它们都不适用于我的应用程序。红宝石串

mystring = "\"HOO123Wow\"" 
mystring.gsub("\"", "") 

任何建议都会非常有帮助。

+4

你开始的字符串实际上是' “HOO123Wow”'。写'mystring ='“HOO123Wow”''创建完全相同的字符串。当我的字符串有任何引号时,我非常喜欢这种符号:'mystring =%{“HOO123Wow”}'。 '{}'只是许多可能的字符对中的一个:'''','<>','()','[]'等等。 –

+0

'mystring.gsub(“\”“,”“)''有什么问题?它删除字符串中的所有引号''',只返回字母数字字符。除此之外,您无法剥离字符串。 – Casper

+0

克里斯托夫的评论很有价值。 Ruby的不同字符串声明格式可以达到这些目的。我试过'%{“H00123Wow”}。delete%{“}'并且它可以工作。 – josemota

回答

0

使用\\转义斜杠。试试这个:在参数收到

mystring = "\"HOO123Wow\"" 
mystring.gsub("\\\"", "") 
0

值== "\"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]

1

简单而优雅的方式:

string = "\"HOO123Wow\"" 
=> "\"HOO123Wow\"" 
string.tr('"','') 
=> "HOO123Wow" 

完成。 :)

1
irb(main)> eval mystring 
=> "HOO123Wow" 

irb(main)> mystring.delete ?" 
=> "HOO123Wow"