###前提・実現したいこと
RUBYでtxtファイル1から読み込んだ日本語の文字列に txtファイル2から読み込んだ日本語の単語が含まれていたら txtファイル3に書き込むをするという処理をしたい。
###発生している問題・エラーメッセージ
if文で文字列に単語が含まれていたら書き込み という処理を行っているのですが if文に入れず書き込みの処理ができない状態。 単語をプログラム内で宣言するとif文に入り処理ができるのですが txtファイルから読み込みを行うと処理ができなくなっている。
###該当のソースコード
RUBY
1# coding: utf-8 2 3#tst.txtの中身 4#これは日本語の文書です 5#これは英語の文章です 6File.open("tst.txt", "r") do |file| 7 file.each_line do |line| 8 line = line.gsub("/(\r\n|\r|\n)/","") 9#word.txtの中身 10#日本語 11File.open("word.txt","r") do |word| 12 word.each_line do |uine| 13 uine = uine.gsub("/(\r\n|\r|\n)/","") 14 15#word = "日本語" 16 if line =~ /#{uine}/ 17 puts "ok" 18 file = File.open("line.txt","a") 19 file.print line 20 file.close 21 end 22 end 23 end 24end 25end
###試したこと
1 .classでStringか調べる 問題なし
2 .encodingでUTF-8になっているか調べる 問題なし
3 ファイルから読み込んでいるuineを word="日本語" としてプログラムで宣言し
line =~ /#{word}/でプログラムを動かす。 if文内に入りokが表示され、書き込まれる。
###補足情報(言語/FW/ツール等のバージョンなど)
RUBYは最新版
TeraPadを使用
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。