全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
2480 5
2017-06-07
悬赏 20 个论坛币 已解决
比如原文为:“张三欠李四钱,需要偿还李四总共500元钱。张三需要偿还李四本金454元,利息23元(不包括其他金额4元)。张三需要3天内偿还。”
求问:我需要用Python解析出454元、23元。关键词为偿还。
我怎么定位第二句话,告诉python只在第二句话中进行解析,并且排除括号中的"4元"(即告诉Python不解析括号中的内容)
求大神指导,万分感谢

最佳答案

fengxingliulizi 查看完整内容

里面的是中文括号,这句话是删除括号和里面的内容 txt2 = re.sub('(.*?)', '',txt)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-6-7 16:00:15
somnus91 发表于 2017-6-8 15:09
谢谢,这只是我列举的一个例子,实际上我是不想匹配括号里面的金额,请问您知道怎么操作吗
里面的是中文括号,这句话是删除括号和里面的内容
txt2 = re.sub('(.*?)', '',txt)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-6-8 09:06:52
pattern = '本金(.*?)元.*?利息(.*?)元'
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-6-8 15:09:24
fengxingliulizi 发表于 2017-6-8 09:06
pattern = '本金(.*?)元.*?利息(.*?)元'
谢谢,这只是我列举的一个例子,实际上我是不想匹配括号里面的金额,请问您知道怎么操作吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-6-9 19:53:39
import re
words = "张三欠李四钱,需要偿还李四总共500元钱。" \
        "张三需要偿还李四本金454元,利息23元(不包括其他金额4元)。" \
        "张三需要3天内偿还。"
print(words)

capital = re.findall('本金(.*?)元', words, re.S)
int = re.findall('利息(.*?)元', words, re.S)

print(capital)
print(int)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-6-13 13:16:22
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群