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

贪婪的骑士

我目前很难用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)

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

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

维克多·史翠比维

基于环视的常规正则表达式在粘合字母词之间插入空格

import re
text = "HelloPleaseHelpMeUnderstand"
print( re.sub(r"(?<=[A-Z])(?=[A-Z][a-z])|(?<=[a-z])(?=[A-Z])", " ", text) )
# => Hello Please Help Me Understand

请参阅regex演示注意调整将是必要考虑数字,或大写单词喜欢的单个字母IA等等。

关于当前代码,您需要确保将整个文件读入一个变量中(使用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演示

图案细节

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用bash分隔文本文件中的交易

使用ruby从文本文件中删除重复的单词

使用for循环遍历文本文件中的单个单词

使用PLY的文本文件中的特定单词

使用python计算文本文件中单词的出现

使用Swift从文本文件中删除单词

在文本文件中搜索单词

检查文本文件中的单词

删除文本文件中的单词

Java按行读取文本文件,但将行中的单词分隔成数组

使用Regex查看Python中的文本文件

导入文本文件的内容和文本文件的名称,然后使用宏将其分隔到Excel中

如何使用python查找文本文件中单词的出现频率?但用户应输入单词

使用Java提取文本文件中特定单词旁边的单词

使用python多次打印文本文件中两个单词之间的文本

文本文件中单词中相同字母的出现

从文本文件中删除单词中的特定模式

批处理文件仅使用整个单词在文本文件中查找和替换?

使用C ++进行文件I / O以计算文本文件中的某些字符或单词

从文本文件中读取值,以=和$符号分隔

文本文件中逗号分隔的字段数

在Scala中解析分隔的文本文件

在文本文件上使用分隔符

使用python转换空格分隔的文本文件?

编写一个Bash脚本,将每个逗号分隔的单词从文本文件中拉出

如何在文本文件中找到唯一的单词,然后使用Powershell在文本文件中存储唯一的单词

在Unix Shell脚本中不使用'wc'命令而计算文本文件中的单词数

如何使用python从目录中的所有文本文件中查找特定单词

使用python拆分行并将分隔符添加到文本文件中