⍝ Extract html segments: nl←⊃⌽⎕tc htm←,'<html> ',nl htm,←' <body> ',nl htm,←' <table> ',nl htm,←' <tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr>',nl htm,←' <tr><td>Guys</td><td>60</td><td>40</td></tr> ',nl htm,←' <tr><td>Dolls</td><td>20</td><td>80</td></tr> ',nl htm,←' </table> ',nl htm,←' </body> ',nl htm,←'</html> ',nl 'table'htx htm ⍝ extract table. ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ <tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr> <tr><td>Guys</td><td>60</td><td>40</td></tr> <tr><td>Dolls</td><td>20</td><td>80</td></tr> │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ '<table'htx htm ⍝ extract table including tags. ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │<table> <tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr> <tr><td>Guys</td><td>60</td><td>40</td></tr> <tr><td>Dolls</td><td>20</td><td>80</td></tr> </table>│ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ '<tr'htx htm ⍝ extract table rows. ┌────────────────────────────────────────────────────┬────────────────────────────────────────────┬─────────────────────────────────────────────┐ │<tr><td>%</td><td>Eye Poke</td><td>Kumquat</td></tr>│<tr><td>Guys</td><td>60</td><td>40</td></tr>│<tr><td>Dolls</td><td>20</td><td>80</td></tr>│ └────────────────────────────────────────────────────┴────────────────────────────────────────────┴─────────────────────────────────────────────┘ '<td'htx htm ⍝ extract table data. ┌──────────┬─────────────────┬────────────────┬─────────────┬───────────┬───────────┬──────────────┬───────────┬───────────┐ │<td>%</td>│<td>Eye Poke</td>│<td>Kumquat</td>│<td>Guys</td>│<td>60</td>│<td>40</td>│<td>Dolls</td>│<td>20</td>│<td>80</td>│ └──────────┴─────────────────┴────────────────┴─────────────┴───────────┴───────────┴──────────────┴───────────┴───────────┘ '<td'∘htx¨'<tr'htx htm ⍝ extract table data per row. ┌───────────────────────────────────────────────┬───────────────────────────────────────┬────────────────────────────────────────┐ │┌──────────┬─────────────────┬────────────────┐│┌─────────────┬───────────┬───────────┐│┌──────────────┬───────────┬───────────┐│ ││<td>%</td>│<td>Eye Poke</td>│<td>Kumquat</td>│││<td>Guys</td>│<td>60</td>│<td>40</td>│││<td>Dolls</td>│<td>20</td>│<td>80</td>││ │└──────────┴─────────────────┴────────────────┘│└─────────────┴───────────┴───────────┘│└──────────────┴───────────┴───────────┘│ └───────────────────────────────────────────────┴───────────────────────────────────────┴────────────────────────────────────────┘ 'td'htx htm ┌─┬────────┬───────┬────┬──┬──┬─────┬──┬──┐ │%│Eye Poke│Kumquat│Guys│60│40│Dolls│20│80│ └─┴────────┴───────┴────┴──┴──┴─────┴──┴──┘ ↑'td'∘htx¨'tr'htx htm ┌─────┬────────┬───────┐ │% │Eye Poke│Kumquat│ ├─────┼────────┼───────┤ │Guys │60 │40 │ ├─────┼────────┼───────┤ │Dolls│20 │80 │ └─────┴────────┴───────┘ 'td'htx ltov htm ⍝ test vector of vectors. ┌─┬────────┬───────┬────┬──┬──┬─────┬──┬──┐ │%│Eye Poke│Kumquat│Guys│60│40│Dolls│20│80│ └─┴────────┴───────┴────┴──┴──┴─────┴──┴──┘ 'td'htx ⎕fmt htm ⍝ test character matrix. ┌─┬────────┬───────┬────┬──┬──┬─────┬──┬──┐ │%│Eye Poke│Kumquat│Guys│60│40│Dolls│20│80│ └─┴────────┴───────┴────┴──┴──┴─────┴──┴──┘ '<jj'htx'<jj>aaa</jj><jj>bbb</jj>' ⍝ adjacent <end><begin> tags. ┌────────────┬────────────┐ │<jj>aaa</jj>│<jj>bbb</jj>│ └────────────┴────────────┘ 1 disp '<JJ'htx'<jj>aaa</jj><jj>bbb</jj>' ⍝ no matches. ┌⊖────┐ │ │ └────→┘ ⍝∇ htx ltov Back to: code Back to: Workspaces