From: gotoken@... (GOTO Kentaro) Date: 1998-11-21T10:42:39+09:00 Subject: [ruby-list:11004] 文字列の抽出について ごとけんです In message "[ruby-list:11001] 文字列の抽出について" on 98/11/21, "Hirotaka Ishida" writes: >いしだです。 >Jperl 等のjsubstrみたいに切り出しを行いたいのですが、うまくいきません。 たとえば、次を試してみてください。 str = "10#(袋入り)" p str[0,2] # perl の substr($str, 0, 2) p str[0,str.index("#")] # "#"の前まで("#"がなければ例外) p $1 if str =~ /(\d+)#/ # /(\d+)/ があればマッチした部分 p str[5..-3] # 5バイト目から終りから3バイト目まで p str.split("")[4..-2].join # 日本語を含む4文字目から-2文字目まで p $1 if str =~ /((.*))/ # /(.*))/ があればマッチした部分 >例. > 「10#(袋入り)」の「10」の部分を取り出したい。 > 現在は、 > > tb[colomn][0,tb[colomn].index("#")] > > としています。すると、 > > undefined method `index' for nil (NameError) > > と出るのですが。。。 tb がなんなのか説明がないのでよく分かりませんが、 メッセージは tb[colomn] が nil だと言っています。 tb[colomn] が "10#(袋入り)" になってないのでは?? -- gotoken