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

标签 python string

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

所以从句子来看:

Jump over TNT in There.

我想得到:

Jump over  in There.

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

最佳答案

您可以使用用单词边界捕获的大写字母集 [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 '

关于Python - 从长字符串中删除大写单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37943611/

相关文章:

string - Rebol/RED 解析。将解析后的字符串中的 ASCII 代码保存到变量中?

python - 在 Maya 中使用 .NET

python - 从 MultiIndex DataFrame 为切片分配新值

python - 将列转换为财务会计格式工作表条件格式

python - 在 web2py 中创建自定义选项小部件

mysql - 在mysql字符串函数中搜索特殊字符

使用 NumPy 数据类型的 Python 字典查找速度

java - 在 Java 中使用比较器自定义排序字母数字字符串

Java 字符串比较失败,使用 equals 方法

c - 使用 free() 使 strtok 返回的字符串为空