第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用C#正則表達式刪除HTML標記

使用C#正則表達式刪除HTML標記

慕慕森 2019-06-26 13:37:25
使用C#正則表達式刪除HTML標記如何使用C#正則表達式替換/刪除所有HTML標記,包括尖括號?誰能幫我弄一下密碼嗎?
查看完整描述

3 回答

?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

如前所述,不應(yīng)使用正則表達式處理XML或HTML文檔。它們在HTML和XML文檔中的性能不太好,因為無法以一般的方式表示嵌套結(jié)構(gòu)。

你可以用以下方法。

String result = Regex.Replace(htmlDocument, @"<[^>]*>", String.Empty);

這在大多數(shù)情況下都是可行的,但也會出現(xiàn)一些情況(例如,包含尖括號的CDATA),這些情況不能像預(yù)期的那樣工作。


查看完整回答
反對 回復(fù) 2019-06-26
?
慕的地6264312

TA貢獻1817條經(jīng)驗 獲得超6個贊

這個問題太寬泛了,無法確定地回答。你是說從一個真實的HTML文檔中刪除所有標簽,就像網(wǎng)頁一樣?如果是這樣,你必須:

  • 刪除<!DOCTYPE聲明或<?xml Prolog(如果它們存在)
  • 刪除所有SGML注釋
  • 刪除整個Head元素
  • 刪除所有腳本和樣式元素
  • Grabthar-知道用表單和表元素做什么嗎?
  • 移除其余的標簽
  • 從CDATA節(jié)中刪除<![CDATA[和]>序列,但將其內(nèi)容單獨保留

這只是我的頭頂-我相信還有更多。一旦你完成了所有這些,你最終會得到一些地方的單詞、句子和段落,而另一些地方則會出現(xiàn)大量無用的空格。

但是,假設(shè)您只使用一個片段,并且只需刪除所有標記即可,下面是我將使用的正則表達式:

@"(?></?\w+)(?>(?:[^>'""]+|'[^']*'|""[^""]*"")*)>"

在自己的選項中匹配單引號和雙引號字符串足以解決屬性值中的尖括號問題。我不認為有任何必要顯式匹配標記中的屬性名稱和其他內(nèi)容,就像Ryan的答案中的正則表達式那樣;第一個選項處理了所有這些。

如果你想知道這些(?>...)構(gòu)造,它們是原子群..它們使正則表達式更高效,但更重要的是,它們防止了失控的回溯,這是您在混合交替和嵌套量詞時應(yīng)該注意的事情,就像我所做的那樣。我不認為這會是一個問題,但我知道如果我不提,其他人會。;-)

當然,這個正則表達式并不完美,但它可能是您所需要的最好的。


查看完整回答
反對 回復(fù) 2019-06-26
  • 3 回答
  • 0 關(guān)注
  • 792 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號