Я работаю с текстом, исходящим от this website с windows-1252
charset. Преобразование текста в UTF-8 было выполнено с использованием force_encoding
, но текст по-прежнему содержит пробелы, от которых я не могу избавиться. Пробел нельзя удалить, используя text.gsub!(/\s/, ' ')
или аналогичную технику.Ruby: Удалите невидимые символы после преобразования строки в UTF-8
Драгоценный камень iconv также не выполняет трюк - как описано here. Понятно, что пробел является остатком исходного текста и кодировкой windows-1252
, поскольку я получаю предупреждение invalid multibyte char (US-ASCII)
, если я не указываю кодировку как UTF-8.
Я не специалист по кодированию текста, поэтому я, возможно, не замечаю ничего тривиального.
Обновление: Это сценарий, который я использую в настоящее время.
#!/bin/env ruby
# encoding: utf-8
require 'rubygems'
require 'nokogiri'
require 'open-uri'
URL = 'http://www.eximsystems.com/LaVerdad/Antiguo/Gn/Genesis.htm'
html = Nokogiri.HTML(open(URL))
# Extract Paragraphs
text = ''
html.css('p').each do |p|
text += p.text
end
# Clean Up Text
text.gsub!(/\s+/, ' ')
puts text
Это образец текста, который содержит невидимые символы, которые я пытаюсь удалить. Пространство перед номером - это то, о чем я говорю.
cobraron aliento para consar con él. 16 Al Пунто corrió Ла Вос, у себе divulgó generalmente Эста noticia ан-эль Паласио-дель-Рей: Хан
Можете ли вы вставить символ пробела, который вы пытаетесь удалить? – mdesantis
@ProGNOMmers Я обновил вопрос с помощью скрипта Ruby и образца текста, включая невидимые пробелы. –