Python - 从长字符串中删除大写单词

mat*_*usc 4 python string

我有很长的字符串(28MB)的普通句子。我想删除所有完全大写字母的单词(例如 TNT、USA、OMG)。

所以从句子来看:

Jump over TNT in There.
Run Code Online (Sandbox Code Playgroud)

我想得到:

Jump over  in There.
Run Code Online (Sandbox Code Playgroud)

有什么办法,如何在不将文本拆分为列表和迭代的情况下做到这一点?是否可以使用正则表达式以某种方式做到这一点?

Mos*_*oye 5

[A-Z]您可以使用通过单词边界捕获的大写字母集\b

import re

line = 'Jump over TNT in There NOW'

m = re.sub(r'\b[A-Z]+\b', '', line)
#'Jump over  in There '
Run Code Online (Sandbox Code Playgroud)