python - 特定模式的正则表达式

标签 python regex string

所以我出现了以 \u 开头的字符串,后跟各种形式的 4 字符十六进制 (它们不是 unicode 对象,而是数据中的实际字符串,这就是为什么我会想要清理数据) 并希望用空格替换该出现的地方。

示例文本文件:Hello\u2022已创建、审核、\u00e9执行和维护

例如:会出现字符串\u2022\u00e9,我想找到\u 并将其连同其后的 4 个字符子字符串 202200e9 一起删除。我正在寻找适合这种模式的正则表达式。

示例代码:

import json
import io
import re

files = glob('Candidate Profile Data/*')

for file_ in files:
    with io.open(file_, 'r', encoding='us-ascii') as json_file:
        json_data = json_file.read().decode()
        json_data = re.sub('[^\x00-\x7F]+',' ',json_data)
        json_data = json_data.replace('\\n',' ')
        json_data = re.sub(r'\\u[0-9a-f]{,4}',' ',json_data)

        print json_data
        json_data = json.loads(json_data)
        print(json_data)

最佳答案

确实,我们需要您的代码示例,但作为指针,我认为您需要的正则表达式类似于 r'\\u[0-9a-f]{,4}'

这是一个使用示例:

>>> import re
>>> my_string='Hello \\u2022 Created, reviewed, \\u00e9executed and maintained'
>>> my_string
'Hello \\u2022 Created, reviewed, \\u00e9executed and maintained'
>>> re.sub(r'\\u[0-9a-f]{,4}',"",my_string)
'Hello  Created, reviewed, executed and maintained'

仍然希望查看您的代码示例,以便我们提供更准确的答案

关于python - 特定模式的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43561314/

相关文章:

string - MongoDB 大于 numberLong 的问题

string - "const char *"和 "const string"之间的确切技术区别是什么

python - 虚拟环境中的 0MQ

python - 如果 IOStream.connect 不起作用则停止 IOLoop

java - 使用符号前缀验证用户名的正则表达式

java - 我想检查输入字符串的格式是否正确

C++:使用运算符比较字符串的词典顺序

python - 凸包和 SciPy

python - 使用 Pandas 替换数据框列中的特定值

python搜索/用类似sed的表达式替换正则表达式