python - 如何从 Unicode 文件中删除字母数字单词

标签 python bash unicode awk sed

我需要使用字典数据库,但其中大部分是一些字母数字无用的东西,有趣的字段要么是非字母数字(例如汉字),要么在一些括号内。我搜索了很多,了解了很多工具,如 sed、awk、grep 等,我什至想过创建一个 Python 脚本来解决这个问题,但我从未找到解决方案。

数据库的一行如下所示:

助 L1782 DN1921 K407 O431 DO346 MN2313 MP2.0376 E314 IN623 DA633 DS248 DF367 DH330 DT284 DC248 DJ826 DG211 DM1800 P1-5-2 I2g5.1 Q7412.7 DR3945 Yzhu4 Wjo ジョ たす.ける たす.かる す.ける すけ {help} {rescue} {assist} 

我需要它是这样的:

助 ジョ たす.ける たす.かる す.ける すけ {help} {rescue} {assist} 

我可以使用上述任何工具来完成此操作吗?

最佳答案

如果您仍然需要,这里有一个 Python 解决方案:

import re
alpha_brack = re.compile(r"([a-zA-Z0-9.\-]+)|({.*?})")

my_string = """
助 L1782 DN1921 K407 O431 DO346 MN2313 MP2.0376 E314 IN623 DA633 DS248 DF367 
DH330 DT284 DC248 DJ826 DG211 DM1800 P1-5-2 I2g5.1 Q7412.7 DR3945 Yzhu4 
Wjo ジョ たす.ける たす.かる す.ける すけ {help} {rescue} {assist}"""

match = alpha_brack.findall(my_string)

new_string = my_string

for g0, _ in match: # only care about first group!
    new_string = new_string.replace(g0,'',1) # replace only first occurence!

final = re.sub(r'\s{2,}',' ', new_string) # finally, clean up whitespace

print(final)

我的结果:

'助ジョ たすける たすかる すける すけ {帮助} {救援} {协助}'

关于python - 如何从 Unicode 文件中删除字母数字单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38047460/

相关文章:

unicode - UTF-8 是编码还是字符集?

regex - 删除文件中的所有空格 - Linux

linux - bash 脚本应该使用 sudo 还是假定使用 sudo?

python - 在python中查找列表上的边框

python - 如何使用Python中另一列的值填充pandas数据框中的空值?

swift - 如何通过 NSUserUnixTask 传递参数,然后通过脚本访问?

css - 无法更改unicode字符的字体颜色

java - javax.validation.constraints 的@Pattern 与非 ASCII Unicode 一起工作是否正确?

python - 如何在 Tkinter 文本小部件中将文本居中?

python - 在 python 中将带有 NaN 的 Numpy 数组写入 CSV