正则表达式 - 如何截取每行第2个.与第3个.之间的文本?

查看:326
本文介绍了正则表达式 - 如何截取每行第2个.与第3个.之间的文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

这个文本每行都长这样
1024.2046.1024
512.20178.520
要截取出这一列
2046
20178
我的做法是把这个文本倒到mysql里存成一列字段,然后用
create table result as select substring_index(substring_index(c1,'.',2),'.',-1) result from table;
想看下大家遇到这种问题还有什么处理方法,java、python、vim、shell、ue、notepad++ ……thank you

解决方案

方法都是大同小异, 只要取出想要的内容, 就能拼接成sql语句去执行, 下面是两种语言的方法

cat file.txt:
1024.2046.1024
512.20178.520

shell:
awk -F. '{print $2}' file.txt

python:
with open('file.txt') as f:
    for i in f:
        print re.findall('[^.]+\.([^.]+)',i)

这篇关于正则表达式 - 如何截取每行第2个.与第3个.之间的文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆