我对Python比较陌生,我试图用re分割字符串。 我已经研究了一下,我遇到了一些例子,我试了一下。他们似乎工作,但有限。
我正在使用带有与整数值相关联的字符串键的字典。我正在尝试对每个单词应用权重,这取决于与键字符串关联的整数值。我的问题是字符串格式不完整,我需要将它拆分为下划线(_)以及空格和其他各种分隔符。据我所知,这需要用正则表达式来完成。我的代码如下:
for key, value in sorted_articles.items():
wordList = print(re.split(r'(_|\s|:|)',key))
当我打印出来时,它会将所有内容拆分,但它也会打印出分隔符,而不是忽略它们在列表中。例如,字符串"Hello_how are you_"
作为['Hello', '_', 'how', ' ', 'are', ' ', 'you','_']
存储在列表中。
我不确定为什么分隔符会被添加到列表中,我无法弄清楚如何解决它。在此先感谢您的帮助!
答案 0 :(得分:0)
您可以使用\W+
字符进行拆分,该字符将拆分所有非字母字符串项,并使用|_
专门搜索下划线:
for key, value in sorted_articles.items():
wordList = print(re.split('\W+|_',key))
例如:
s = "Hello_how are you_"
print(re.split("\W+|_", s))
输出:
['Hello', 'how', 'are', 'you', '']