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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Sting builder - 刪除除 <br> 之外的所有 html 標(biāo)簽

Sting builder - 刪除除 <br> 之外的所有 html 標(biāo)簽

森林海 2022-06-23 15:50:17
我有一個(gè)字符串生成器對(duì)象“sb”,它看起來(lái)像 -Hello.  How can I help you?<br>I don't know<br>Use the link <a href="www.google.com" target="_blank">Google</a><br>這只是一個(gè)示例,它可以有任何類(lèi)型的 html 標(biāo)簽。如何從對(duì)象中刪除除 br 標(biāo)記之外的所有可能的 HTML 標(biāo)記。我一直在嘗試使用下面的代碼從 sb 對(duì)象中刪除所有 html 標(biāo)簽,但它似乎不起作用。另外,不確定如何為 br 標(biāo)簽設(shè)置例外。sb.replaceAll("<.*?>", "");
查看完整描述

2 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

眾所周知,如果您嘗試捕獲完整的標(biāo)簽數(shù)據(jù)并嘗試對(duì)其進(jìn)行操作,強(qiáng)烈建議不要使用正則表達(dá)式解析 HTML。但是如果你只是想去掉所有標(biāo)簽,或者有條件地去掉一些標(biāo)簽,比如在這種情況下,你想刪除除標(biāo)簽之外的所有<br>標(biāo)簽,你可以使用這個(gè)正則表達(dá)式,

<\/?(?!br>)\w+[^>]*>

解釋?zhuān)?/strong>

  • <- 匹配標(biāo)簽的開(kāi)始

  • \/?- 可選地匹配/匹配的結(jié)束標(biāo)簽

  • (?!br>)- 如果標(biāo)簽名稱(chēng)是,則拒絕匹配br

  • \w+- 匹配任何由單詞字符組成的標(biāo)簽名稱(chēng)

  • [^>]*- 可選地允許標(biāo)簽屬性匹配

  • >- 匹配關(guān)閉標(biāo)簽

示例 Java 代碼,


String s = "Hello.  How can I help you?<br>I don't know<br>Use the link <a \r\n" + 

        "href=\"www.google.com\" target=\"_blank\">Google</a></br>Hello.  <sometag>somedata</sometag> hey <br1>somedata</br2> hello <1br>somedata</1br> How can I help you?<br>I don't know<br>Use the link <a \r\n" + 

        "href=\"www.google.com\" target=\"_blank\">Google</a></br>";


System.out.println(s.replaceAll("</?(?!br>)\\w+[^>]*>", ""));

在刪除除<br>and之外的所有標(biāo)簽的地方打印此內(nèi)容</br>,


Hello.  How can I help you?<br>I don't know<br>Use the link Google</br>Hello.  somedata hey somedata hello somedata How can I help you?<br>I don't know<br>Use the link Google</br>

編輯:正如Lino在他的評(píng)論中提到的,如果您的標(biāo)簽名稱(chēng)在br文本周?chē)锌蛇x空格,您可以使用以下允許可選空格的正則表達(dá)式,


<\s*\/?\s*(?!br\s*>)\w+[^>]*>

演示允許 br 標(biāo)簽中的可選空間


查看完整回答
反對(duì) 回復(fù) 2022-06-23
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用解析 HTMLregex不是一個(gè)好主意。如果您確定它始終是 HTML,我建議您使用Jsoup它會(huì)自動(dòng)使用您的 html 并返回文檔。


Document doc = Jsoup.parse(sb.toString());

printChilds(doc.body().childNodes());


    public static void printChilds(List<Node> node)

    {

        for (Node n : node)

        {

            if (n.childNodeSize() == 0)

                System.out.print(n.toString());

            else

                printChilds(n.childNodes());

        }

    }

將輸出Hello. How can I help you?<br>I don't know<br>Use the link Google<br>


查看完整回答
反對(duì) 回復(fù) 2022-06-23
  • 2 回答
  • 0 關(guān)注
  • 109 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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