我有以下数据:u'US $1.37 - 2.65'
我想检索1.37-2.65
。
重要:
US $
部分不是静态的,它可能会根据所选货币的类型而变化。其他示例:
34.27 - 47.92 грн.
€ 1.05 - 1.47
NZ$ 16.57 - 18.22
换句话说,正则表达式只能检索:
答案 0 :(得分:1)
您可以仅分割“ $”字符并使用第二个列表项:
>>> u'US $1.37 - 2.65'.split("$")[1]
u'1.37-2.65
如果出于某种原因需要使用正则表达式,则应使用以下命令:
>>> import re
>>> re.findall('^.* \$([0-9 -.]+)$', 'US $1.37 - 2.65')[0].replace(' ', '')
'1.37-2.65'
最终编辑:以下模式将匹配添加到原始帖子中的所有示例:
>>> re.findall('^(.* [^0-9]?)?([0-9.,]+ - [0-9.,]+)( .*)?$', data)[0][1].replace(' ', '')
答案 1 :(得分:0)
好吧,找到了适用于所有货币的商品。
"".join(re.findall('[0-9.-]',text)).rstrip(".")
text
与以下任何一种配合使用:
34.27 - 47.92 грн.
€ 1.05 - 1.47
NZ$ 16.57 - 18.22
答案 2 :(得分:-2)
newmap <- getMap(resolution = "high")
plot(newmap)
ggmap(newmap) +
geom_point(data = pts, aes(x = longitude, y = latitude, size=n),
shape=21, fill = "steelblue", color = "white", stroke=0.25)
和
aa = 'US $1.37 - 2.65'
string = ""
flag = 0
for i in range(len(aa)):
if flag ==1:
string += aa[i]
if aa[i] == '$':
flag=1
print(string)