gpt4 book ai didi

python - 正则表达式-Python【列表查询】

转载 作者:行者123 更新时间:2023-12-04 02:34:17 26 4
gpt4 key购买 nike

我正在尝试为这个列表写一个正则表达式:

data= ["Fred 是副经理。他在 MNC 工作。", "Rita 是 AC Corp 的另一名员工。"]

我想删除所有以大写字母开头的单词,但它不应该检查每个句子的第一个单词,即它不应该检查 Fred、He 和 Rita。

输出应该是

输出-["Fred is. He is working for.", "Rita is another employee in."]

我尝试寻找解决方案,但找不到任何相关代码。任何帮助将不胜感激。

谢谢。

最佳答案

您需要查找并删除所有不在标点符号后面的大写单词,然后查找并删除尾随空格(此解决方案不是最干净的,但它有效)。列表推导在这里也能派上用场。

import re

data = ["Fred is Deputy Manager. He is working for MNC.", "Rita is another employee in AC Corp."]
# find and replace all capital words that don't follow punctuation with ''
text = [re.sub(r'(?<!\.\s)(?!^)\b([A-Z]\w*(?:\s+[A-Z]\w*)*)', '', item) for item in data]
# find and remove all trailing spaces before periods
output = [re.sub(r'\s([?.!"](?:\s|$))', r'\1', item) for item in text]

>>> output
['Fred is. He is working for.', 'Rita is another employee in.']

关于python - 正则表达式-Python【列表查询】,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62568166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com