Ruby 字符串中的反斜杠返回两个反斜杠
我输入了这个访问令牌值 864876322670016\u00257C4e1d481ecad9eb45b9386745.1-1026038548\u00257CshuA8v7lgo7-hRr2AjbUBd3shek 在一个表单上,但返回时带有双反斜杠,如下所示 864876322670016\\u00257C4e1d481ecad9eb45b9386745.1-1026038548\\u00257CshuA8v7lgo7-hRr2AjbUBd3shek 我正在将此值传递给Facebook GraphAPI,这将返回一个错误Ruby 字符串中的反斜杠返回两个反斜杠,ruby,regex,string,escaping,Ruby,Regex,String,Escaping,我输入了这个访问令牌值 864876322670016\u00257C4e1d481ecad9eb45b9386745.1-1026038548\u00257CshuA8v7lgo7-hRr2AjbUBd3shek 在一个表单上,但返回时带有双反斜杠,如下所示 864876322670016\\u00257C4e1d481ecad9eb45b9386745.1-1026038548\\u00257CshuA8v7lgo7-hRr2AjbUBd3shek 我正在将此值传递给Facebook Gra
如何获得返回值,并将双反斜杠替换为单反斜杠?或者有没有办法让双反斜杠不出现?您确定它是用双反斜杠返回的吗?内部带有反斜杠的字符串看起来像是有两个反斜杠,因为Ruby正在转义它们:
> a = 'aaa\bbb\ccc'
=> "aaa\\bbb\\ccc" # Looks like doubles
> a
=> "aaa\\bbb\\ccc"
> a.inspect
=> "\"aaa\\\\bbb\\\\ccc\"" # Looks even worse
> puts a
aaa\bbb\ccc # ...but it isn't
但如果它们是双反斜杠,您可以这样做:
> puts aa
aaa\\bbb\\ccc # String with double backslash
> aa.gsub!("\\\\", "\\")
> puts aa
aaa\bbb\ccc
你确定它是用双反斜杠返回的吗?内部带有反斜杠的字符串看起来像是有两个反斜杠,因为Ruby正在转义它们:
> a = 'aaa\bbb\ccc'
=> "aaa\\bbb\\ccc" # Looks like doubles
> a
=> "aaa\\bbb\\ccc"
> a.inspect
=> "\"aaa\\\\bbb\\\\ccc\"" # Looks even worse
> puts a
aaa\bbb\ccc # ...but it isn't
但如果它们是双反斜杠,您可以这样做:
> puts aa
aaa\\bbb\\ccc # String with double backslash
> aa.gsub!("\\\\", "\\")
> puts aa
aaa\bbb\ccc
这只是它的显示方式,以转义形式。你的错误可能在别处 这是对输出的一种常见误解,正如前面所指出的,当您第一次看到它时,会有点困惑 从,当此人的问题基本相同时: 该死。我忘了,当结果以双引号显示时,它显示它已转义
还有一个关于这个问题的简短讨论。这只是它以转义形式显示的方式。你的错误可能在别处 这是对输出的一种常见误解,正如前面所指出的,当您第一次看到它时,会有点困惑 从,当此人的问题基本相同时: 该死。我忘了,当结果以双引号显示时,它显示它已转义 这里也有一个关于这个问题的简短讨论