python - 在 Python 中使用正则表达式进行搜索和替换

标签 python regex

我有一个充满推文的日志文件。每条推文单独占一行,这样我就可以轻松地遍历文件。

一个示例推文是这样的:

@ 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 - 在 Python 中使用正则表达式进行搜索和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19549207/

相关文章:

python - 配置 Django URLS.py 以在用 end/重写 URL 后将 #anchors 保留在 URL 中

python - Django/子目录/admin/重定向到/admin/login/?next=/admin/

python - 将数据透视表转换为数据框

python - 如何设置 PasswordType 属性的值?

javascript - 正则表达式匹配前面没有 "]"的左括号

Javascript正则表达式 - 获取所有包含方括号[]的字符串

php - 在文本文件中获取用户的值 - PHP

javascript - 测试固定电话号码模式的最快方法

python - 在 python 中绘制流数据的最轻量级方法

python array(10,1) 和 array(10,) 之间的区别