python正则替换查询_使用Python中的正则表达式进行搜索和替换

我有一个充满推文的日志文件.每条推文都在自己的行上,这样我就可以轻松地遍历文件了.

一个示例推文就像这样:

@ sample This is a sample string $1.00 # sample

我想通过删除特殊字符和下面的字母数字字符之间的空格来清除它. “@ s”,“$1”,“#s”

所以它看起来像这样:

@sample This is a sample string $1.00 #sample

我正在尝试使用正则表达式来匹配这些实例,因为它们可以变量,但我不确定如何执行此操作.

我一直在使用re.sub()和re.search()来查找实例,但我正在努力弄清楚如何在保持字符串完整的同时删除空格.

这是我到目前为止的代码:

#!/usr/bin/python

import csv

import re

import sys

import pdb

import urllib

f=open('output.csv', 'w')

with open('retweet.csv', 'rb') as inputfile:

read=csv.reader(inputfile, delimiter=',')

for row in read:

a = row[0]

matchObj = re.search("\W\s\w", a)

print matchObj.group()

f.close()

谢谢你的帮助!

解决方法:

使用re.sub这样的东西:

>>> import re

>>> strs = "@ sample This is a sample string $1.00 # sample"

>>> re.sub(r'([@#$])(\s+)([a-z0-9])', r'\1\3', strs, flags=re.I)

'@sample This is a sample string $1.00 #sample'

标签:python,regex

来源: https://codeday.me/bug/20190529/1176291.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值