使用Regex分隔文本文件中的单词

时间:2018-11-03 10:29:22

标签: python regex

我目前很难分隔txt文档中的单词 与正则表达式到列表中,我已经尝试过“ .split”和“ .readlines”我的文档 由“ HelloPleaseHelpMeUnderstand”之类的词组成, 大写但不留空格,因此我对如何将它们放入列表感到迷惑。 这是我目前拥有的东西,但是只返回一个单词。

import re
file1 = open("file.txt","r")
strData = file1.readline()
listWords = re.findall(r"[A-Za-z]+", strData)
print(listWords)

我这样做的目的之一是在列表的元素中搜索另一个单词,但我只想知道如何列出它们,以便我继续我的工作。

如果有人可以指导我找到解决方案,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

您需要确保将整个文件读入一个变量(使用file1.read(),您只读取readline()的第一行),并使用[A-Z]+[a-z]*正则表达式来匹配所有单词粘住了您的显示方式:

import re
with open("file.txt","r") as file1:
    strData = file1.read()
    listWords = re.findall(r"[A-Z]+[a-z]*", strData)
    print(listWords)

请参见Python demo

模式详细信息

  • [A-Z]+-一个或多个大写字母
  • [a-z]*-零个或多个小写字母。

答案 1 :(得分:0)

如何?

npm install foundation-sites --save

答案 2 :(得分:0)

print(re.sub(r"\B([A-Z])", r" \1", "DoIThinkThisIsABetterAnswer?"))

我认为这是一个更好的答案吗?