【发布时间】:2022-01-27 11:04:17
【问题描述】:
我有一个带有 cmets 的字段。一些 cmets 只是“否”,但带有不同的尾随“o”。我想对这些 cmets 进行转换,这样我只会得到“否”返回。如何使用正则表达式实现这一点?
例如:
remove_trailing_os("noooooo") 应该输出“no”
remove_trailing_os("nooOOoooooooo") 应该输出“no”
【问题讨论】:
-
@TimBiegeleisen 我不认为这是重复的。链接的问题没有明确提到正则表达式,也没有提到尾随字符或不区分大小写的匹配
-
@mozway 对不起...我以为那些大写的 Os 只是拼写错误。
-
"我如何使用正则表达式来实现这一点?"那么,你对正则表达式了解多少?你能想出一个匹配你想要替换的部分的正则表达式模式吗?你知道你想用什么来代替它吗?你知道如何更换吗? 真正的困难是什么?
-
由于您正在创建函数
remove_trailing_os,因此您无需使用正则表达式即可获得结果。使用str.startswith。例如:` if input.startswith("no") return "no"` 如果“no”在不同输入中的大小写不同,则使用re.search(r'^no', input_string, re.I)。它将返回一个匹配对象或返回None。
标签: python regex pandas string