gpt4 book ai didi

python - 正则表达式 python : Return words surrounding character

转载 作者:行者123 更新时间:2023-12-01 09:25:55 25 4
gpt4 key购买 nike

我有一个包含数百万个单词的字符串,我希望有一个正则表达式可以返回任何美元符号周围的五个单词。例如:

string = 'I have a sentence with $10.00 within it and this sentence is done. '

我希望正则表达式返回

surrounding = ['I', 'have', 'a', 'sentence', 'with', 'within', 'it', 'and', 'this', 'sentence']

我的最终目标是统计所有提及“$”的单词,这样上面的列表就完整了:

final_return = [('I', 1), ('have', 1), ('a', 1), ('sentence', 2), ('with', 1), ('within', 1), ('it', 1), ('and', 1), ('this', 1)]

我到目前为止开发的下面的正则表达式可以返回附加到货币符号及其周围 5 个字符的字符串。有没有办法编辑正则表达式来捕获周围的五个单词?我应该(如果是的话,如何)使用 NLTK 的 tokenizer 来实现这一目标?

   import re
.....\$\s?\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{1,2})?.....

最佳答案

使用 split 来分割单词,使用 isalpha 删除非单词,然后统计单词在列表中的频率。

string='I have a sentence with $10.00 within it and this sentence is done. '
string1=string.split()
string2=[s for s in string1 if s.isalpha()]
[[x,string2.count(x)] for x in set(string2)]
#[['and', 1], ['within', 1], ['sentence', 2], ['it', 1], ['a', 1], ['have', 1], ['with', 1], ['this', 1], ['is', 1], ['I', 1]]

关于python - 正则表达式 python : Return words surrounding character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50395461/

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