すべての漢字を取り出す正規表現 がとても参考になった。結局次のような単純なコードでよいらしい。 (文字コードは UTF-8 を仮定) $KCODE = 'u' require 'jcode' puts 'aA0&!漢字です'.gsub(/[^一-龠]/, '') # => "漢字" ミソは、$KCODE = 'u' して require 'jcode' しないといけないということか。どうも上の正規表現は UTF-8 以外では使えないらしいのだが、まあいまどき、よい子のみなさんは UTF-8 以外なんて使ってませんよね・・・??