python隐藏手机号码_python从字符串中删除电话号码

我有一个看起来像这样的文本文件:

rgf34 | 9 | 2015-07-20 | hello this is my number 1234567890

rgf35 | 10 | 2015-07-20 | my number : 123 - 456 -8888 can you check...

这些列是管道分隔的,每个新数据都在一个新行上.

我如何通过第三栏删除所有的电话号码? (所有电话号码都是10位数,我不知道它们是否有括号或破折号.)

我知道我可以使用awk来获取第三列中的数据,但是我对如何执行正则表达式部分感到难过:

这是awk部分:

awk -F "|" '{print $4}' myfile.txt

预期产量:

rgf34 | 9 | 2015-07-20 | hello this is my number

rgf35 | 10 | 2015-07-20 | my number : can you check...

解决方法:

如果你把它放在a.awk中

BEGIN {

FS = OFS = "|"

}

{

sub(/[0-9].*[0-9]/, "", $4)

print

}

并运行

awk -f a.awk foo.txt

您将获得所需的输出.

如果输入是

rgf34 | 9 | 2015-07-20 | hello this is my number 1234567890

rgf35 | 10 | 2015-07-20 | my number : 123 - 456 -8888 can you check...

输出将是

rgf34 | 9 | 2015-07-20 | hello this is my number

rgf35 | 10 | 2015-07-20 | my number : can you check...

标签:python,bash,regex,sed,awk

来源: https://codeday.me/bug/20190623/1273198.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值