2012-06-28 3 views
0

rhodes 응용 프로그램의 params에서 응답을 얻고 있습니다. "\"HOO123Wow\"" "HOO123Wow"과 같은 간단한 문자열 형식으로 입력해야합니다. gsubdelete으로 시도했지만 그 중 아무 것도 내 응용 프로그램에서 작동하지 않는 것 같습니다.ruby ​​문자열에서 슬래시를 벗어나는 방법

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

어떤 제안이 도움이 될 것입니다.

+4

문자열은 실제로' "HOO123Wow"'이다. 'mystring = ' "HOO123Wow"' '를 쓰면 똑같은 문자열이 생성됩니다. 내 문자열에 따옴표가 있으면이 표기법을 매우 선호합니다. 'mystring = % { "HOO123Wow"}'. '{}'는 가능한 많은 문자 쌍 중 하나입니다 :'||','<>','()','[] '등등. –

+0

'mystring.gsub ("\" "," ")'의 무엇이 잘못 되었습니까? 문자열의 모든 따옴표'''를 제거하고 영숫자 만 반환합니다. 그 이상으로 문자열을 제거 할 수 없습니다. – Casper

+0

Christoph의 의견은 가치가 있습니다. Ruby의 다른 문자열 선언 형식은 이러한 용도로 사용됩니다. 나는'% { "H00123Wow"}을 시도했는데 % { "}'를 삭제하면 작동합니다. – 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" 
관련 문제