我目前很难分隔txt文档中的单词 与正则表达式到列表中,我已经尝试过“ .split”和“ .readlines”我的文档 由“ HelloPleaseHelpMeUnderstand”之类的词组成, 大写但不留空格,因此我对如何将它们放入列表感到迷惑。 这是我目前拥有的东西,但是只返回一个单词。
import re
file1 = open("file.txt","r")
strData = file1.readline()
listWords = re.findall(r"[A-Za-z]+", strData)
print(listWords)
我这样做的目的之一是在列表的元素中搜索另一个单词,但我只想知道如何列出它们,以便我继续我的工作。
如果有人可以指导我找到解决方案,我将不胜感激。
答案 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?"))
我认为这是一个更好的答案吗?