如何抽取这个数字?
mystr1="该股自上市以来累计分红 11 次,累计分红金额为 24.18 亿元。"mystr2="该股自上市以来累计分红 0 次"
要求:从mystr1 中抽取出24.18亿元,从mystr2中获得0亿元。
我kao, 这么有钱呀. 求带!! :em02::em02: 写个正则,提取里面的数字呗 #-*- coding:utf8 -*-
import re
str1 = r"该股自上市以来累计分红 11 次,累计分红金额为 24.18 亿元"
str2 = r"该股自上市以来累计分红 0 次"
str3 = re.findall(r'(\d+.\d+)', str1)
str4 = re.findall(r'(\d+)', str2)
for i in str3:
print i 写个正则,从中抽取出24.18亿元了:mrgreen:
超牛逼的:mrgreen:
回复 4# xmchenb
细看这个正则还是很多问题的,第一个万一人家不是小数呢? 第二个万一人家是小数呢?
[\d]+\.?[\d]+ 本帖最后由 liaozd 于 2014-04-02 15:36 编辑
他要的是“亿元”,难点是编码mystr1=r"该股自上市以来累计分红 11 次,累计分红金额为 24.21 亿元。"
# coding=utf-8
reMoney = re.compile('\d+.?\d+\s*亿元')
Money = reMoney.findall(mystr1)
number = re.findall(r'\d+.?\d+', Money)
print number
['24.21']
需要的是第一行规定中文的编码方式
页:
[1]