私はこの表現を持っています:
channelName = rhash["Channel"].gsub("'", " ")
それはうまくいきます。ただし、1文字しか置き換えられません。代わりにもう少し文字を追加したいと思います。だから私は以下を試しました:
channelName = rhash["Channel"].gsub(/[':;] /, " ")
これは機能しませんでした。つまり、文字列に置換が行われず、エラーメッセージもありませんでした。私もこれを試しました:
channelName = rhash["Channel"].gsub!("'", " ")
これにより、文字列が空白になりました。だから絶対に私が望んでいたものではありません。
次の文字を文字列内のスペースに置き換えるgsubメソッドが必要です。
' ; :
私の質問:
上記の文字のすべてのインスタンスがスペースに置き換えられるようにgsubメソッドを構成するにはどうすればよいですか?
Gsubで何が起こっているのですか?上記は空白を返すものとして。
2回目の試みは非常に近かった。問題は、閉じ角かっこの後にスペースを残したことです。つまり、これらの記号の1つだけを探していましたその後にスペースが続きます。
これを試して:
channelName = rhash["Channel"].gsub(/[':;]/, " ")
これはあなたの質問に答えませんが、それを行うためのより良い方法です。
channelName = rhash["Channel"].tr("':;", " ")