Re: [問題] 關於特定字元和字元之間的字串統計已回收
※ 引述《rock666 (rock666)》之銘言:
: 判斷網頁裡特定字元和字元之間字串的統計
: 例如: <p>this is a book<p>
: ˙
: ˙
: ˙
: <p>Internet Explorer<p>
: 然後可以判斷出 第一次出現的有14個字元 第二次出現的有17個字元
: 但是要用什麼方法去判別字元和字元之間的數
: 應該是要設定搜尋的範圍 然後用FOR 或者WHILE去讓他跑
: 但是整個概念仍無法從基礎的架構上作延伸
: 不知道範圍怎麼設定
: 也有爬過文@@ 但仍然沒有頭緒@@
: 希望有人能幫我解開這個疑惑@@ 感謝
很天真地假設不會遇到多層,如 <p><p>TEXT</p></p>
頂多只有 tag attribute,如 <p ....>TEXT</p>
的話,可以試著用 Regular Expression。
s = urlread('http://www.w3schools.com/tags/tag_p.asp');
[start_idx, end_idx] = regexp(s, '(?<=<p[^>]*?>).*?(?=</p[^>]*>)');
% length of matched substrings
l = end_idx - start_idx + 1;
如果要非常精準的話,可能還是得用 Parser 生出 DOM 來切。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
推
05/18 23:14, , 1F
05/18 23:14, 1F
→
05/18 23:16, , 2F
05/18 23:16, 2F
推
05/18 23:19, , 3F
05/18 23:19, 3F
→
05/18 23:20, , 4F
05/18 23:20, 4F
→
05/18 23:26, , 5F
05/18 23:26, 5F
推
05/18 23:48, , 6F
05/18 23:48, 6F
如果想知道成不成功的話有個幫助判斷的方法:
把 regexp 的 output argument list 改成 [start_idx, end_idx, extents, matches]
這樣就可以直接在 matches 裡看到抓到的所有字串。
不過看到字串只是幫助你看看是否都有找到找對,實際確認還是得自己開原始碼。
※ 編輯: DigiPrince 來自: 140.113.94.230 (05/19 00:06)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):