2017-04-25 178 views
0

我有一個刮數據集包含的數據像下面列:如何從Alteryx的html標籤中提取數字?

<td>1,968</td> 
<td>185</td> 
<td>1,285<sup id="cite_ref-4" class="reference"><a href="#cite_note-4">[4]</a></sup></td> 

我使用Alteryx來處理數據,我想用正則表達式來提取HTML標籤<td></td>之間的數字。所以在上述情況下,我應該回到1968年,185年和1285年。我嘗試了以下正則表達式,但都沒有工作using this tester。我相信正則表達式的版本應該是R的Alteryx,但不確定。

>([0-9]+)< 

>[0-9]+< 

有人可以請說一說嗎?謝謝!

+0

'library(rvest); '​​1968 ​​185 ​​1285 [4]' %>%read_html()%>%html_nodes( 'TD')%>%HTML_TEXT( )%>%readr :: parse_number()' – alistaire

+1

因爲http://stackoverflow.com/a/1732454/4497050 – alistaire

+0

R具有不同的正則表達式風格,具體取決於包和其他參數。說「正則表達式的版本應該是R」在這裏沒有說明什麼。 [文檔說](https://help.alteryx.com/9.5/RegEx.htm)它是Boost。 R不支持Boost。我刪除了R標籤。 –

回答

1

替代Alteryx方法:使用公式工具刪除<td>以及逗號和空格,然後使用選擇工具將剩餘的數據轉換爲您選擇的數字類型......它會自動將所有內容都帶到第一個非數字字符。

+0

這很有趣。你可以分享使用的公式嗎?謝謝! –

+0

假設一個字段'[f1]',下面的代碼使用'Replace'三次刪除我提到的三個項目:'Replace(Replace(Replace(Replace([f1],「​​」,「」)),「,」, 「),」「,」「)' – johnjps111

+0

這太棒了,謝謝! –