【问题标题】:How to gsub an unicode 0083 with ruby?如何用红宝石 gsub 一个 unicode 0083?
【发布时间】:2010-10-30 10:20:22
【问题描述】:


我已经从 html.file 加载了一个字符串,并使用插件 ya2yaml 将它写入了一个 yaml 文件:


- title: 'What a wonderful day!'
  body:  ... # main contents here

我将通过 YAML::parse_file 方法加载 .yml 文件。
但是字符串中的“\n”会导致加载问题,所以我尝试gsub所有“\n”到“”,但还是有问题,一个char '0083'(我在终端看到它)仍然断线,并导致加载问题:


in `load': syntax error on line 32, col 6: `      </strong><br>ok ' (ArgumentError)
from /home/croplio/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/syck.rb:178:in `parse'
from /home/croplio/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/syck.rb:203:in `block in parse_file'
from /home/croplio/.rvm/rubies/ruby-1.9.2-preview3/lib/ruby/1.9.1/syck.rb:202:in `open'

那么 yaml 或 char 0083 有什么问题?
或者我该如何避免这个问题?

【问题讨论】:

  • 试试这个:# coding utf-8 ............... gsub("\u0083","")

标签: ruby unicode yaml break gsub


【解决方案1】:

0083 是一个 unicode 字符“NO BREAK HERE”。 我不知道 YAML::pars,但也许您可以将其切换为使用 unicode 或使用纯 ascii 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 2019-08-09
    相关资源
    最近更新 更多