From: Takayuki Tanaka Date: 2000-06-07T17:41:10+09:00 Subject: [ruby-list:23091] Re: 文字列置換 Yukihiro Matsumoto さんは書きました: > >In message "[ruby-list:23088] 文字列置換" > on 00/06/07, Takayuki Tanaka writes: > >|文字列置換で以下のようにすると >|何も処理されない値が返ってくるのですが >|なんとかする方法はないのでしょうか? >| >|すみませんが、ご教授お願いします。 >| >|Delimiter1 = '!"#\$%&\(\)\*\+,\./:;<=>@?_`\|~\{\}\[\]' >|str = str.tr(Delimiter1, "") >| >|上記で"\]"を外すと正常に処理ができます。 >|"\]"はなにか特殊な表現方法をしないと >|いけないのでしょうか? > >具体的にはなにが問題でしたか? 私の1.4.4では > > str = "a[b]" > > Delimiter1 = '!"#\$%&\(\)\*\+,\./:;<=>@?_`\|~\{\}\[\]' > p str.tr(Delimiter1, "") # => ab > >になったんですけど。これが期待するものじゃないんですか? > > まつもと ゆきひろ /:|} > > 返答ありがとうございます。 こちらでも、再度いろんなケースを試してみたのですが、 require "jcode"を外せば正常に動作しました。 ケース1 require "jcode" str = "a[b]" Delimiter1 = '!"#\$%&\(\)\*\+,\./:;<=>@?_`\|~\{\}\[\]' p str.tr(Delimiter1, "") # => a[b] ケース2 str = "a[b]" Delimiter1 = '!"#\$%&\(\)\*\+,\./:;<=>@?_`\|~\{\}\[\]' p str.tr(Delimiter1, "") # => ab 逆に、これって何故"jcode"を"require"しては駄目なのでしょうか? 他の個所で"jlength"が使用したいので・・・