이것은 일반적인 질문이지만 신뢰할 수없는 정규식을 사용하지 않고 대답을 찾지 못하는 것 같습니다.루비에서 특수 문자 이스케이프
기본적으로 문자열에 \302\240
또는 유사한 조합이있는 경우 실제 문자로 바꾸고 싶습니다.
나는 이것을 위해 PLruby를 사용하고 있습니다. 따라서 경고합니다.
obj = {"a"=>"some string with special chars"}
warn obj.inspect
NOTICE: {"Outputs"=>["a\302\240b"]} <- chars are escaped
warn "\302\240"
NOTICE: <-- there is a non breaking space here, like I want
warn "#{json.inspect}"
NOTICE: {"Outputs"=>["a\302\240"b]} <- chars are escaped
내가 문자열 리터럴을 사용할 때 그래서이 디코딩 할 수
하지만 "# {X}"포맷의 \ XXX 자리로는 문자로 디코딩되지 않습니다.
가운데 명령과 동일한 문자열을 어떻게 할당합니까?
루비 버전 : 1.8.5
미안하지만 무슨 뜻인지 모르겠군요 ... 어쩌면 당신은 질문을 다시 말해야 할 것입니다. 특히 코드와 출력은 나에게 매우 이상하게 보입니다. –
그냥 말도 안되는 이스케이프 처리없이 .inspect를 사용하고 싶습니다. – Keyo
내장 유형을 검사하는 목적은 리터럴로 사용할 수있는 객체 표현을 제공하는 것입니다. 그건 "우스운"것이 아닙니다. 당신은 전혀 다른 것을 찾고있는 것 같아요, 아마도 해결책은 좋은 생각 일 것입니다. –