在Python

时间:2017-08-22 20:55:04

标签: python python-3.x

我对Python比较陌生,我试图用re分割字符串。 我已经研究了一下,我遇到了一些例子,我试了一下。他们似乎工作,但有限。

我正在使用带有与整数值相关联的字符串键的字典。我正在尝试对每个单词应用权重,这取决于与键字符串关联的整数值。我的问题是字符串格式不完整,我需要将它拆分为下划线(_)以及空格和其他各种分隔符。据我所知,这需要用正则表达式来完成。我的代码如下:

for key, value in sorted_articles.items():
    wordList = print(re.split(r'(_|\s|:|)',key))

当我打印出来时,它会将所有内容拆分,但它也会打印出分隔符,而不是忽略它们在列表中。例如,字符串"Hello_how are you_"作为['Hello', '_', 'how', ' ', 'are', ' ', 'you','_']存储在列表中。 我不确定为什么分隔符会被添加到列表中,我无法弄清楚如何解决它。在此先感谢您的帮助!

1 个答案:

答案 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', '']