正则表达式/从 ruby​​ 中的字符串中删除斜杠

Jac*_*rry 5 ruby regex string slash gsub

提前致谢...

我在 ruby​​ 中的正则表达式方面遇到了一些麻烦,或者找到了从字符串中删除斜杠的方法。这是我的字符串的样子:

string = "word \/ word"
Run Code Online (Sandbox Code Playgroud)

我正在尝试删除反斜杠和斜杠;我想要这个结果:

string = "word  word"
Run Code Online (Sandbox Code Playgroud)

我想我错过了一些带有转义字符的东西,或者谁知道是什么!

我已经尝试过这个:

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

这将删除反斜杠,但保留斜杠。我已经尝试过在各处以及甚至没有意义的地方使用转义字符进行变体!

我对正则表达式很糟糕,并且对一般的字符串工作感到非常沮丧,我只是不知所措。我确信这是显而易见的,但我错过了什么?

Gra*_*ins 5

原因是因为/\本身都不是正则表达式中的有效字符。所以必须在它们前面加上 a 来逃避它们\。因此\成为\\/成为\/。将它们放在另一组斜杠内以形成正则表达式文字,我们得到:

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

另一种写法是:

string.gsub(/#{Regexp.escape('\/')}/, "")
Run Code Online (Sandbox Code Playgroud)

您应该查看 rubular,了解开发正则表达式字符串的好方法。

http://rubular.com/r/ml1a9Egv4B