0

这个脚本是一个更大的脚本的一部分,当我运行这个脚本时,我也会得到“ <p></p>”打印出来。我怎样才能删除这个?

我使用了这个正则表达式: m.gsub!(/(?=\S)(\d|\W)/,"")

但它只删除了字符“<”和“/>”

这是我的脚本:

require 'open-uri'
require 'rexml/document'
include REXML

doc = REXML::Document.new(open('http://testnavet.skolverket.se/SusaNavExport/EmilObjectExporter?id=184594606&amp;strId=info.uh.gu.GS5&amp;EMILVersion=1.1').read)

doc.elements.each("//*[name()='ct:text'] | /ns:educationInfo/ns:extensionInfo/gu:guInfoExtensions/gu:guSubject/gu:descriptions/gu:description"){
          |e| m = e.text 
              puts "Description: " + m  
        }
4

1 回答 1

1

啊,所以你想删除 HTML 标签。如果是这样,您可以这样做:

str.gsub(/<.+?>/, "")

因此,“<div>Hello world!</div>”变成了“Hello world”

于 2012-03-03T20:38:49.117 回答