正确使用ruby字符串中的gsub

ban*_*ing 9 ruby string gsub

我有这个表达式:

channelName = rhash["Channel"].gsub("'", " ")
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,我只能用它替换1个字符.我想为替换添加一些字符.所以我尝试了以下方法:

channelName = rhash["Channel"].gsub(/[':;] /, " ")
Run Code Online (Sandbox Code Playgroud)

这不起作用,即没有对字符串进行替换,也没有错误消息.我也试过这个:

channelName = rhash["Channel"].gsub!("'", " ")
Run Code Online (Sandbox Code Playgroud)

这导致一个空白的字符串.所以绝对不是我想要的.

我想有一个gsub方法用我的字符串中的空格替换以下字符:

 ' ; :
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 如何构建我的gsub方法,以便用空格替换上述字符的所有实例?

  2. gsub发生了什么事!以上为空白.

Dyl*_*kow 18

你的第二次尝试非常接近.问题是你在结束括号后留下了一个空格,这意味着它只是寻找其中一个符号后跟一个空格.

试试这个:

channelName = rhash["Channel"].gsub(/[':;]/, " ")
Run Code Online (Sandbox Code Playgroud)


saw*_*awa 5

这并不能回答您的问题,而是一种更好的方法。

channelName = rhash["Channel"].tr("':;", " ")
Run Code Online (Sandbox Code Playgroud)