gpt4 book ai didi

python - 使用 re.sub 将正则表达式的替换变量替换为字符串

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:22 24 4
gpt4 key购买 nike

我需要将 KEY 替换为 VAL。 Key 是一个正则表达式,如 import.* ,val 是一个字符串,如“important”。我知道这段代码不好,因为关键是正则表达式,但我找不到有效的解决方案。

#import stem dict
d = {}
with open("Stem rečnik.txt") as f:
for line in f:
key, val = line.split(":")
d[key.replace("\n","")] = val.replace("\n","")

#define tokenizer
def custom_tokenizer(text):
#split- space
tokens = nltk.tokenize.word_tokenize(text)
#stemmer
for key,val in d.items():
tokens=[token.replace(key,val) for token in tokens]
#remove special characters
tokens=[re.sub(r'[^a-zA-Z0-9]',"",token) for token in tokens]
return tokens
cv=CountVectorizer(tokenizer= custom_tokenizer,analyzer ='word',encoding='utf-8', min_df=0, max_df=1.0)
post_textCV= cv.fit_transform(post_text)
df=DataFrame(post_textCV.A, columns=cv.get_feature_names())
print(df.head)

所以,问题出在这里:

tokens=[token.replace(key,val) for token in tokens]

最佳答案

token.replace(key,val) 调用 str.replace 这是基本的字符串替换。

要调用正则表达式替换,只需执行以下操作:

tokens=[re.sub(key,val,token) for token in tokens]

也就是说,这似乎相当无效,为每个键/值对重建列表理解。

关于python - 使用 re.sub 将正则表达式的替换变量替换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45764050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com