首页 文章

正确使用ruby字符串中的gsub

提问于
浏览
5

我有这个表达式:

channelName = rhash["Channel"].gsub("'", " ")

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

channelName = rhash["Channel"].gsub(/[':;] /, " ")

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

channelName = rhash["Channel"].gsub!("'", " ")

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

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

' ; :

我的问题:

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

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

2 回答

  • 4

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

    试试这个:

    channelName = rhash["Channel"].gsub(/[':;]/, " ")
    
  • 13

    这不能回答你的问题,但是这是一个更好的方法 .

    channelName = rhash["Channel"].tr("':;", " ")
    

相关问题