2011-06-27 34 views
1

我使用jsoup-1.5.2解析html標記字符串,我想從html字符串中提取純文本並指定文本的長度,並保留完整的html標記。如何使用Jsoup從html中提取指定長度的純文本?

examply:

HTML代碼:

<p><span>Mike <u>stopp<b>ed</b></u> his work</span></p> 

我想要的結果:

指定文本長度= 4

result:<p><span>Mike</span></p> 

指定文本長度= 10

result:<p><span>Mike <u>stopp</u></span></p> 

指定文本長度= 12

result:<p><span>Mike <u>stopp<b>ed</b></u></span></p> 

指定文本長度= 16

result:<p><span>Mike <u>stopp<b>ed</b></u> his</span></p> 

能否完成它使用jsoup?

+0

你有沒有試過自己想出一個解決方案?在我看來,這是一個非常自定義的要求,你不會在Jsoup或其他庫中找到現成的(儘管我可能會誤解)。您似乎在解析時會得到一個DOM文檔,所以DOM方法在這裏可以派上用場。乾杯,Wim – Wivani

回答

0

不幸的是,使用Element類不是直截了當的。原因在於類Element中的「text()」方法,「獲取此元素及其所有子元素的組合文本」。這真是讓人惱火,因爲你不能只獲取單個元素的文本。您需要使用Elements類中的Elements.select(String).text()方法,並可能使用通配符(如果可能)。此方法將返回所有匹配節點的「組合」文本。這是作爲單個字符串返回的,因此您可以調用String的'length()'方法。