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 に答える