python - 如何在句子列表中的单词和左括号之间创建空格

标签 python regex list nltk python-re

在下面的列表中,实际上有两个骗局。但由于句子的第二个单词和(之间的空格不同,因此将它们视为唯一的句子。

通过使用Python - 正则表达式,如何在单词之间创建附加空格。 (示例:第 1 项)“美国(US)”应更改为“美国(US)”(与第 2 项相同)

listx = 
['United States(US)',
 'United States (US)',
 'New York(NY)',
 'New York (NY)']

预期输出列表为

['United States (US)',
 'United States (US)',
 'New York (NY)',
 'New York (NY)']

实际上,我正在尝试从列表中消除重复的句子,并考虑到这是首先使句子相似的方法之一。 请提出建议。

最佳答案

您可以搜索紧跟左括号的字母

>>> [re.sub(r'(\w)\(', r'\1 (', i) for i in listx]
['United States (US)',
 'United States (US)',
 'New York (NY)',
 'New York (NY)']

要删除重复项,您可以从此生成器表达式创建一个

>>> set(re.sub(r'(\w)\(', r'\1 (', i) for i in listx)
{'United States (US)', 'New York (NY)'}

关于python - 如何在句子列表中的单词和左括号之间创建空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61802934/

相关文章:

java - 如何在正则表达式中定义开关案例?

python - 如何在go或python中将结构写入文件?

python - 返回多列 Pandas 对应的值

python 中的curl --interface 等价物

python - 从 n 个相等的项目中挑选与最小数字相关的项目

python - 什么符号 |在 Python 中是什么意思?

html - 多个UL的级别不一样

python - 在 pandas 列上操作时避免重复数据框名称

python - 如何提取域名并将其插入新的 Pandas 列?

regex - 修剪具有不同字符的字符串的前导和尾随部分