唯一词字典删除特殊字符和数字



我想从一本书中制作一本字典,不幸的是我有一个问题

import re
with open('vechny.txt', encoding='utf-8') as fname:
text = fname.read()
lst = list(set(text.split()))
str1 = ' '.join(str(e) for e in lst)
print(str1, file=open("1000.txt", "a", encoding='utf-8'))

in_file = open("1000.txt", "r", encoding='utf-8')
lines = in_file.read().split(' ')
in_file.close()
out_file = open("file.txt", "w", encoding='utf-8')
out_file.write("n".join(lines))
out_file.close()

这个脚本工作良好,但需要删除特殊字符

, .-,等…从纯文本

示例有单词Hay, split将其作为一个单词,因此不会删除它

如何制作文本

input
Hay, hello,% lost. 15 čas řad
output im search is
hay hello lost cas rad

这个怎么样?

import re
str1 = '#@-/abcüšščřžý'
r = re.findall(r'bd*[^Wd_][^W_]*b', str1, re.UNICODE)
str2 = ''.join(r)
print(str2)

试试这个:

import re
re.sub('[^A-Za-z0-9]+', ' ', 'Hay, hello,% lost. 15')

让我知道是否可以!

from unidecode import unidecode
import random
import re
random = (random.randint(1000, 2000))
n = (input("jmenosouboru:"))
with open(""+str(n)+".txt", encoding='utf-8') as fname:
text = fname.read()
r = re.findall(r'bd*[^Wd_][^W_]*b', text, re.UNICODE)
str2 = ' '.join(r)
uni=(unidecode(str2))
lst = list(set(uni.split()))
str1 = ' '.join(str(e) for e in lst)
lines = str1.split(' ')
text1 = ("n".join(lines))
text2 = ''.join(filter(lambda x: not x.isdigit(), text1))
print(text2, file=open(""+str(random)+"-.txt", "a", encoding='utf-8'))
print("done")

相关内容

  • 没有找到相关文章

最新更新