差不多就这些了。我正在使用 Nokogiri 来抓取包含 ’ ; 的网页。其中的字符,我无法弄清楚如何进行转换。这是我尝试过的:
str.gsub(/’/,"'")
str.gsub("’","'")
str.gsub("ΓÇÖ","'") # that's how it looks when I do a puts
(在上面,’和";"之间没有空格,但是如果我不把空格放进去,SO会把它转换成撇号——残酷,残酷的讽刺!)
我确定这在某处已涵盖,但无法在此处或网络上找到解决方案。
TIA
最佳答案
str.gsub("\342\200\231", "'")
应该有效
我从:
'’'.to_s
=> "\342\200\231"
其他可以替换的 html 字符 ( http://ask.metafilter.com/62656/Eliminating-odd-characters-from-web-site ):
"\342\200\176" - "'"
"\342\200\177" - "'"
"\342\200\230" - "'"
"\342\200\231" - "'"
"\342\200\232" - ','
"\342\200\233" - "'"
"\342\200\234" - '"'
"\342\200\235" - '"'
"\342\200\041" - '-'
"\342\200\174" - '-'
"\342\200\220" - '-'
"\342\200\223" - '-'
"\342\200\224" - '--'
"\342\200\225" - '--'
"\342\200\042" - '--'
"\342\200\246" - '...'
关于ruby - 如何在 ruby 1.8.7 中将网页撇号 (’) 转换为 ascii 39,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2812781/