我遇到了一些格式错误的文字,似乎无法找到删除特殊字符的通用方法。
这是网站上显示的文字:Technological�\x00 Sciences
。 String#force_encoding('UTF-8')
结果:Technological\u0000 Sciences
,仍然导致Nokogiri提前终止。
我可以做一个快速而又脏的gsub "Technological\u0000 Sciences".gsub(/\u0000/,'')
,但是想知道是否有更通用的解决方案,或者Nokogiri或ruby中的配置是否也有效?
答案 0 :(得分:1)
你可以试试这个:
"Technological�\x00 Sciences".gsub(/[^[:alnum:][:space:][:punct:]]/, '')
答案 1 :(得分:0)
你可以这样做:
[29] pry(main)> str
=> "Technological�\u0000 Sciences"
[30] pry(main)> str.scan(/[a-zA-Z]{2,}/).join(' ')
=> "Technological Sciences"