我有一个长文本格式如下:
2689 3015 worth n
1095 9183 worth prep
4659 1314 worthwhile a
4503 1394 worthy a
36 272345 would modal
3404 2077 wound n
4789 1263 wound v
3174 2319 wrap v
4257 1508 wrist n
223 41497 write v
1329 7309 writer n
1939 4727 writing n
2483 3390 written a
723 14274 wrong a
5771 930 wrong adv
5544 995 wrong n
5774 929 x-ray n
4424 1426 yacht n
1510 6360 yard n
5354 1056 yarn n
我的问题是:如何从这样一个文件中删除所有的数字,只留下n、v、a和adv这些单词?你知道吗
当我成功地删除了数字,将文件中的行添加到字符串中时,我对如何在这种情况下使用regex和只留下我想要的单词感到困惑。结果应该是:
worth
worthwhile
..
所以,没有字型结尾。你知道吗
我应该通过将这些单词粘贴到一个.txt文件中来获得它吗? 你会怎么做?你知道吗
使用
set
和findall
查找所有唯一元素Regex Demo
Python代码
IDEONE DEMO
你需要正则表达式吗?如果单词不能包含空格,您可以只在空格上拆分,只保留第三个和第四个结果,
print
只保留第三个结果,例如要删除所有不是
a,adv,n,v
的实例,可以使用下面的regex并替换为空字符串。你知道吗第1步:
正则表达式:
^\S+\s+\S+\s+\S+\s+(?!a|n|adv|v).*$
Regex101 Demo
第2步:
现在剩下的单词末尾有
a,adv,n,v
。现在,您可以使用这样的捕获组将整个字符串替换为单词。你知道吗正则表达式:
^\S+\s+\S+\s+(\S+)\s+(a|n|adv|v)$
替换为:替换为
\1
。你知道吗Regex101 Demo
相关问题 更多 >
编程相关推荐