使用Ruby从字符串中删除双反斜杠

Sev*_*rin 1 ruby replace ruby-on-rails gsub

我有以下字符串:

string = "\"2014\\/jul\\/grandes\\/volvo-s-60-d5-momentum-1403253_2.jpg\""
Run Code Online (Sandbox Code Playgroud)

我想要gsub到这个字符串:

string = "2014/jul/grandes/volvo-s-60-d5-momentum-1403253_2.jpg"
Run Code Online (Sandbox Code Playgroud)

以下是我认为它应该如何工作:

string.gsub(/\\./,'')
Run Code Online (Sandbox Code Playgroud)

但是这会返回:

"\"2014julgrandesvolvo-s-60-d5-momentum-1403253_3.jpg\""
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ale*_*kin 5

你没有理由在regexp中有一个"点".代替:

string.gsub(/\\./,'')
Run Code Online (Sandbox Code Playgroud)

尝试:

string.gsub(/["\\]/,'')
Run Code Online (Sandbox Code Playgroud)

或者,@ sawa的学分,试试这个:

string.tr('"\\','')
Run Code Online (Sandbox Code Playgroud)

或者,归功于@Chirantan:

string.delete('"\\')
Run Code Online (Sandbox Code Playgroud)

基准:http://gist.github.com/dominikh/208915