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

How to remove words starting with capital letter in a list of strings using re.sub in python

我正在使用 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 to']

你可以试试

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']

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