如何在python中使用re.sub删除字符串列表中以大写字母开头的单词

如何在python中使用re.sub删除字符串列表中以大写字母开头的单词,python,regex,list,word,re,Python,Regex,List,Word,Re,我正在使用Python,我想使用re.sub删除字符串列表中以大写字母开头的单词。 例如,给定以下列表: l = ['I am John','John is going to US'] 我希望获得以下输出,不为删除的单词留出任何额外空间: ['am','is going to'] 您可以尝试以下方法: output = [] for sentence in l: output.append(" ".join([word for word in sentence.s

我正在使用Python,我想使用
re.sub
删除字符串列表中以大写字母开头的单词。 例如,给定以下列表:

l = ['I am John','John is going to US']
我希望获得以下输出,不为删除的单词留出任何额外空间:

['am','is going to']
您可以尝试以下方法:

output = []
for sentence in l:
    output.append(" ".join([word for word in sentence.strip().split(" ") if not re.match(r"[A-Z]",word)]))
print(output)
输出:

['am','is going']

您可以试试

import re

l=['I am John','John is going to US']
print([re.sub(r"\s*[A-Z]\w*\s*", " ", i).strip() for i in l])
输出

['am', 'is going to']

这是一个正则表达式,用于删除以大写字母开头的给定字符串中的所有单词。此外,它还将删除单词前后的所有空格。

您的代码在哪里有问题?代码在哪里?学习一门编程语言需要犯很多错误,否则每次出现新问题时你都会问。欢迎。很高兴为您提供帮助。如果您能标记答案并进行投票,我们将不胜感激。有人能告诉我们下面的正则表达式是什么吗?例如-我正在尝试为此列表编写正则表达式:data=[“我是John,Jo要去我们家”,“Cathy也会陪他去我们家。”]我想删除所有以大写字母开头的单词,但不应检查每个句子的第一个单词,即不应检查I、Jo和Cathy。输出应该是输出-[“我是,乔要去”,“凯西也会陪他去。”]谢谢。