2017-05-09 59 views
0

我试图解析一个PDF文件,我想在该行,前年底获得不破字的输入:如何删除pdf文件中的分词符和换行符?

text.pdf

"hello guys I ne- 
ed help" 

如何去除在“ - ”而行,以突破坚持的“需要”一起

两个部分这是我的实际代码:

reader = PDF::Reader.new(‘text.pdf’) 
reader.pages.each do |page| 
page.text.each_line do |line| 
    words = line.split(” “) # => ["hello"], ["guys"], ["I"], ["ne-"], ["ed"], ["help"] 
    words.each do |word| 
     puts word 
    end 
end 

回答

0

您可以使用String#gsub

a = "hello guys I ne- 
ed help" 
#=> "hello guys I ne-\n" + "ed help" 
a.gsub(/-|\n/, '-' => '', "\n" => '') 
#=> "hello guys I need help" 

与您的代码:

reader = PDF::Reader.new(‘text.pdf’) 
reader.pages.each do |page| 
    page.text.each_line { |line| line.gsub(/-|\n/, '-' => '', "\n" => '')} 
end 

或者,如果仪表板和新线元素总是在一起,他们一起代替:

a.gsub(/-\n/, '') 
#=> "hello guys I need help" 
+0

谢谢您的回答。我尝试了第一个命题,并删除了“ - ”,但我仍然在另一行上获得了“ed”。可能是pdf中的换行符必须以不同的方式进行管理? – Orsay

+0

@Orsay你尝试第二个吗?虽然,我认为它没有多大差别 –

+0

是的,我尝试了第二个,但它保持破折号和分行 – Orsay