提取$和%值,比方說從字符串字符串正則表達式從字符串
str1 = "4.1% Cash Back "
str2 = "$44.2 miles "
我想提取兩個 「4.1%」 和 「44.2 $」。什麼是最好的解決方案。我嘗試了幾種方法,但並不順利。
我試過以下的正則表達式:
pattern1 = r'(\d+\.\d+*%)'
pattern2 = r'$(\d+\.\d+*)'
提取$和%值,比方說從字符串字符串正則表達式從字符串
str1 = "4.1% Cash Back "
str2 = "$44.2 miles "
我想提取兩個 「4.1%」 和 「44.2 $」。什麼是最好的解決方案。我嘗試了幾種方法,但並不順利。
我試過以下的正則表達式:
pattern1 = r'(\d+\.\d+*%)'
pattern2 = r'$(\d+\.\d+*)'
@ rock321987,你是對的! – Fabricator
@Fabricator如果沒有小數,怎麼樣? 它不接受沒有小數的數字 – CodeNinja101
@sudobomb,通過添加'?'使得'(\。\ d +)'可選 – Fabricator
簡單使用split
:
>>> str1 = "4.1% Cash Back "
>>> str1.split()[0]
'4.1%'
>>> str2 = "$44.2 miles "
>>> str2.split()[0]
'$44.2'
不需要逃避'。'標誌 和你應該逃避$符號。 使用模式:
pattern1 = r'\d+.\d+%'
pattern2 = r'\$\d+.\d+'
您可能需要轉義''''和'%'符號, 'r'(\ $ \ d + \。\ d + *)'' –