文章详情页
java - 正则表达式问题
浏览:78日期:2023-11-01 15:25:44
问题描述
想用正则提取如下信息 改怎么写呢?
123 男 北京 张三343 女 河北 石家庄 李四2343 男 山东 王五提取 男 张三 女 李四 男 王五
问题解答
回答1:其实对于中文, 特别是这样格式的中文, 我是不建议用正则的, 虽然勉强也能实现:
# coding: utf8import refilename = ’2.txt’patern = re.compile(r’^d+ (S+).*?(S+)’)with open(filename) as f: for i in f:result = patern.findall(i[:-1]) if result and len(result[0]) == 2: print result[0][0], result[0][1] # 输出:男 北京女 河北男 山东
你也可以用split的方法(建议):
# coding: utf8filename = ’2.txt’with open(filename) as f: for i in f:result = i.split()print result[1], result[-1] # 输出:男 北京女 河北男 山东
标签:
java
相关文章:
1. 一个走错路的23岁傻小子的提问2. angular.js - angularjs 使用鼠标悬停时,标签一直闪3. c++ - win764位环境下,我用GCC为什么指针占8个字节,而long是4个字节?4. html5 - HTML代码中的文字乱码是怎么回事?5. java - 安卓电视盒子取得了root权限但是不能安装第三方应用,请问该怎么办?6. javascript - SuperSlide.js火狐不兼容怎么回事呢7. android - 安卓activity无法填充屏幕8. python 计算两个时间相差的分钟数,超过一天时计算不对9. python - django 里自定义的 login 方法,如何使用 login_required()10. node.js - 函数getByName()中如何使得co执行完后才return
排行榜
