提取$和%值,比方说从字符串字符串正则表达式从字符串
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 + *)'' –