我想使用正則表達式從文本中獲取價格。正則表達式,得到價格。但小數點或逗號爲
小示例: 「今天這款優質產品僅售1.000,59歐元!」
我想從上面的文本中獲得價格。這是我的Python正則表達式到目前爲止:
re.findall(ur'([0-9,.]*)', text)
這只是一個小問題。一些文本使用逗號(,)分割小數,其他文本使用點(。),其中一些文本甚至沒有小數,或者用短劃線( - )替換00小數,例如59歐元, -
理想情況下,讓所有的價格沒有任何問題將是(在我看來):
- 如果選中的數字從右到左,是第三個字符點或逗號(導致每一個價格不包含多於2位小數)?
- 它是否包含破折號(如€50, - )?
如果兩個都是NO:刪除所有的點和逗號。 如果兩個問題中的一個是YES:如果小數點用點(。)分隔,用逗號替換該點,或者它已經是逗號,就這樣放置。並刪除其餘的逗號和點。
這是可能的正則表達式?
單個ex是不夠的。提供更多的預期產出。 – 2014-12-05 09:28:26
尋找貨幣符號如何?另外,你有沒有試過Google的「正則表達式」和「貨幣」? – 2014-12-05 09:40:16
@AvinashRaj,你可能可以幫忙解決這個問題嗎?有額外的分裂功能或什麼?真正用哪種語言無關緊要。我可以將其翻譯爲:P – 2014-12-05 09:43:20