如何提取HTML元素?

如何提取HTML元素?

我有幾百個這樣的 div,我需要對其進行排序和過濾。

我想刪除所有 HTML,只留下以下內容:

例子

  • 姓名=基思
  • 電子郵件= [電子郵件][電子郵件受保護][/電子郵件]
  • 店鋪= 商店 1(只有 2 個選項。商店 1、商店 2)

以下所有程式碼都在一個單獨的儲存格中,因此大約有 400 個儲存格

<div userid=""286"">
    <div id=""694"">
        <h1 style=""display:none"">Keith</h1>
        <div>
            <label class=""ufo-cform-label"">Name</label>
        </div>
        <div>Keith</div>
    </div>
    <div id=""697"">
        <h1 style=""display:none"">[email protected]</h1>
        <div>
           <label class=""ufo-cform-label""> Email Address</label>
        </div>
        <div>[email protected]</div>
    </div>
    <div id=""698"">
        <h1 style=""display:none"">Store 1</h1>
        <div>
            <label class=""ufo-cform-label"">Please choose your closest store</label>
        </div>
        <div>Store 1</div>
    </div>
</div>

這在Excel中也可能嗎?感謝您的任何指導。

答案1

遺憾的是,您的問題缺乏許多細節,使得答案變得棘手。

單元格的格式是否相同?是 HTML 改變還是只是數值改變。您是否一直在尋找姓名、電子郵件和商店?換行符是否在同一個地方?您也沒有提及是否要使用工作表公式或 VBa。

根據您給出的範例,此 VBa 應該能夠完成基礎知識,或至少為您提供足夠的幫助。

Sub DoTheThingTheyWant()

Dim myValue As String
myValue = Range("A1").Value

Dim myValueSplit() As String
myValueSplit = Split(myValue, ">")

Dim nameSplit() As String


Range("B1").Value = "Name: " & GetValue(myValueSplit, 9)
Range("B2").Value = "Email: " & GetValue(myValueSplit, 13)
Range("B3").Value = "Store: " & GetValue(myValueSplit, 29)

End Sub


Function GetValue(myValueSplit() As String, pos As Integer)

Dim result() As String

result = Split(myValueSplit(pos), "<")

GetValue = result(0)


End Function

請記住,請務必先儲存您的工作副本作為備份,因為巨集無法撤銷!

答案2

參加聚會有點晚了,但我需要自己找到答案,並且需要在沒有 VBA 的情況下手動完成。對於非 VBA 使用者來說,只需使用嵌套替換即可輕鬆實現:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE([@Description],"<html-blob>",""),"gt;",""),"</i>",""),"<i>",""),"</html-blob>",""),"</a>",""),"amp;",""),"<br />",""),"</span>",""),"&nbsp",""),"<a href=",""),"</b>",""),"<span>",""),"<br>",""),"<b>",""),"</u>",""),"<u>","")

要使用它,請將“[@Description]”替換為您的來源資料。

要添加更多內容,只需複製中間的替代函數,如下所示:

SUBSTITUTE([@Description],"<html-blob>","")

並將其貼到公式中的來源中,此處為“[@Description]”,因為我在表中使用了它。更改重複的替代品。

相關內容