2013-05-09 25 views
0

我可以很容易地匹配jSoup中的元素,但之後,我需要檢查這些值以查看它們是否至少長於1個字符。jSoup - 是否可以匹配具有最小attr()長度的元素?

我想知道是否有一種方法來匹配具有特定屬性的元素,但只有當該屬性的內容長度超過1個字符?

希望這會讓我不必手動檢查自己的長度。

document.select("img[src]") 

以上的比賽都img標籤與src屬性,但某些屬性可能是空白,我寧願沒有他們在所有的匹配。

僞代碼解釋我的意思:

document.select("img[src:length(1)]") 

我已經通過基準看去,卻找不到合適的東西 - 也許除了一個正則表達式的解決方案?

http://jsoup.org/apidocs/org/jsoup/select/Selector.html

感謝, 米奇。

+0

爲什麼我的標籤被更改爲'JavaScript'?這不是JavaScript,它是Java。 jSoup是一個使用CSS樣式語法的Java庫。 – 2013-05-09 13:15:28

回答

-3

在javascript中,length是一個屬性。要查看它是否大於1,請執行此操作

if (document.select("img[src]").length > 1) 
do something 
else 
do something else 

您只需決定何時何地應用該邏輯。

+1

這不是JavaScript ...它是Java。我正在使用jSoup這是一個Java的HTML解析器。 – 2013-05-09 13:16:10

1

[ATTR〜=正則表達式]與名爲「ATTR」的屬性,和值的匹配正則表達式

在此基礎上從你提供的源連接元件,可以做這樣的事情

document.select("img[src~=.+]"); 

這應該導致選擇具有一個或多個字符的src屬性的img元素。

+0

文檔表明它只是一個部分匹配,所以可以使用'.'而不是'。+',並且仍然可以獲得相同的結果。 – 2013-09-25 13:43:05

相關問題