R15.49 to (R, 15.49) 或
R15.49 to (R, 15.49)
ZAR15.49 to (ZAR, 15.49)
here 并实现了以下功能:
def splitCurrency(string): match = re.search(r'([\D]+)([\d,]+)', string) output = (match.group(1), match.group(2).replace(',','')) return output
但我得到了(R,15)或(ZAR,15)。它忽略了小数点后的数字
如果要从较大的文本中找出这些值,则使用 re.findall
re.findall
inp = "R15.49 or ZAR15.49" matches = re.findall(r'\b([A-Z]+)(\d+(?:\.\d+)?)\b', inp) print(matches)
打印:
[('R', '15.49'), ('ZAR', '15.49')]