これは、複数の正規表現評価を必要とするが、私がやりたいことを取得する1つの出力です(テキスト以外のすべてを削除します)。
words = IO.read("file.txt").
gsub(/\s/, ""). # delete white spaces
gsub(".",""). # delete periods
gsub(",",""). # delete commas
gsub("?","") # delete Q marks
puts words
# output
# WheninthecourseofhumaneventsitbecomesnecessaryIwanttobelieveyoureallyIdobutwhoamItoblameWhenthefactsarecountedthenumberswillbereportedLotsoflaughsCharlieIthinkIheardthatonetentimesbefore
この投稿を見て-Rubygsub:もっと良い方法はありますか-私は、複数の正規表現評価なしで同じ結果を達成するために一致を試みようと考えました。しかし、同じ出力は得られません。
words = IO.read("file.txt").
match(/(\w*)+/)
puts words
# output - this only gets the first word
# When
そして、これは最初の文だけを取得します:
words = IO.read("file.txt").
match(/(...*)+/)
puts words
# output - this only gets the first sentence
# When in the course of human events it becomes necessary.
gsubではなく一致で同じ出力(空白と単語以外の文字を取り除くことを含む)を取得するための提案はありますか?