gpt4 book ai didi

python - 当大写字符前面有小写字符时,如何从字符串末尾删除大写字符?

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:17 24 4
gpt4 key购买 nike

我正在从 ESPN 的 BPI 页面 ( http://www.espn.com/mens-college-basketball/bpi/_/view/resume ) 中抓取大学篮球队的一些数据,并将其存储在 pandas 数据框中。当我将 html 表读入数据框中时,缩写的学校名称会附加到完整的学校名称后面。例如,我有几个看起来像这样的字符串:“North CarolinaUNC”。

如何从字符串末尾删除 UNC?我尝试使用以下正则表达式来匹配字符串末尾的字符:

name = "North CarolinaUNC"
name = re.sub(r"\z[A-Z]","", name)

但它不适用于名称由两个单词组成的学校。有没有办法编写一个规则,当大写字符前面有小写字符时,从字符串中删除这些字符?

最佳答案

使用$来匹配字符串的结尾,并使用非匹配lookbehind来检查大写字母是否在小写字母之后:

import re
name = "North CarolinaUNC"
name = re.sub(r"(?<=[a-z])[A-Z]+$","", name)

北卡罗来纳州的结果一切正常。

使用该表达式,“North Carolina UNC” 保持不变,因为大写字母即使位于字符串末尾,也不会出现在小写字母之后。

关于python - 当大写字符前面有小写字符时,如何从字符串末尾删除大写字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42740293/

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