2010-11-18 5 views

答えて

44

をチェックすることができます。 Splitは文字列を取り込んでビットに分割するように設計されていますが、見たように一致するものがなければ全体を返します。代わりにString.scanを使用したいと思います。

message.scan(/\n.* at.* XXXXXXXX wrote:.*/m).size 
+0

ありがとう、しかし、それは長さを得るのですか?一致するものが見つかった場合はIE。私は試合が見つかったかどうかを知る必要があります。 – AnApprentice

+0

また、そのような正規表現を設定できますか?エラーが発生しました – AnApprentice

+0

あなたはそのような正規表現を設定することができます(私にとってはうまくいく)。申し訳ありませんが、ちょうど確認するために、文字通りそれが一致するかどうかを知りたいと言っていますか? (つまり、テキストの抽出に興味がないのですか?) –

1

よく分割すると配列が返されます。あなたは、あなたが間違った方法を使用している、に一致の数をしようとしているのであれば、あなただけの長さ> 1

m = message.split(/\n.* at.* XXXXXXXX wrote:.*/m) 
if m.length > 1 
    return m.first 
else 
    return nil 
end 
+0

@Doon、申し訳ありません、それはいつもm.firstを返します。アイデア? – AnApprentice

+0

ここで私が持っているものです:すべてのm.lengthがあるよう エンド – AnApprentice

+0

nilの他m.length> 1 リターンm.first.strip リターンが見える場合は、M = to.split (*// @ mysite.com。)やっているのは文字数?あなたの例では – AnApprentice

関連する問題