Unicode(UTF-8) とロシア語の記号に問題があります。次のメッセージが表示されます。
Текущий предмет: [["\u041E\u0431\u044A\u0435\u043A\u0442\u043D\u043E-\u043E\u0440\u0438\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435"]]
ФИО преподавателя: [["\u041B\u0443\u043D\u0435\u0432\u0430 \u0415.\u0415."]]
さらに、正規表現を使用して一致がないことを確認するにはどうすればよいですか?
IDE: NetBeans 7.3
この問題を解決するための私の試み:
- スクリプトの先頭にマジック ライン (エンコーディング: utf-8) を使用する
- file = File.new("rasp.txt","w:UTF-8")
私のコード:
#!/bin/env ruby #change encoding by using magic
# encoding: utf-8
#libs
require "open-uri"
# To change this template, choose Tools | Templates
# and open the template in the editor.
site_content = open("http://rasp.tpu.ru/view.php?for=10-116+%2F%D0%B0%D1%83%D0%B4%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F%2F&weekType=1").read
file = File.new("rasp.txt","w:UTF-8")
#поиск названия текущего предмета
search_subjname = site_content.scan(/<td class="current-day current-time">.*title="([^>]*)"/)
#поиск ФИО преподавателя
search_name = site_content.scan(/<td class="current-day current-time">.*title="[^>]*".*\s*<div.*\s*<a.*>(.*)</)
puts search_subjname
puts search_name
#
#
#Adding a subject
file.write("Текущий предмет: ")
unless search_subjname.empty?
if search_subjname.first.empty?
file.write("Сейчас пар в этой аудитории нет")
else
file.write(search_subjname)
end
end
#Adding FIO to file
file.write("\nФИО преподавателя: ")
unless search_name.empty?
if search_name.first.empty?
file.write("Преподаватель отсутствует")
else
file.write(search_name)
end
end
前もって感謝します