5

文字ではない文字列内のすべての文字をgsubし、「#」に置き換えたい。「この正規表現が一致しない場合はgsub()」のような正規表現が必要だと思います。

何か案は?

4

5 に答える 5

16

お母さん、正規表現はありません...

str.tr( '^A-Za-z', '#' )
于 2011-01-17T17:10:41.713 に答える
9
str.gsub(/[^a-zA-Z]/, '#')

^は一致しないことを意味します

于 2011-01-17T16:29:19.623 に答える
4

もちろん、文字クラスの否定を使用できます。

"aBc$%^".gsub(/[^A-Za-z]/, '#') => "aBc###"

于 2011-01-17T16:30:22.530 に答える
2

コードパッドでこれを試してください:

puts "kjhdfuy37685682#$$%@dfjahf".gsub(/[^a-z]/i, '#')
于 2011-01-17T16:33:15.617 に答える
1

言葉は重要です

すべて文字... '#' に置換str.gsub(/[^a-zA-Z]+/, '#')

文字 ... '#' に置換str.gsub(/[^a-zA-Z]/, '#')

于 2011-01-17T16:41:52.817 に答える