【发布时间】:2022-11-07 20:12:13
【问题描述】:
我正在尝试在 python 上应用正则表达式以获取以下代码。我想用 usa 替换 usa_f1_t1。
例如:我的输入是 usa_f1, usa_tt1_f1_v1, usa_us_t1_v1 , us_us_v1
对于所有这些情况,我想忽略任何数字的字符串部分
usa_tt1_f1_v1 - 它应该给美国结果
usa_us_t1_v1 - 它应该给usa_us结果
usa_f1 - 它应该给美国结果
usa_phone - 它应该给美国电话结果
我正在尝试以下代码。请帮助,因为我是 python 新手
import re
Country_name = "usa_us_f1_t1_v1"
new_result = re.sub(r'[a-zA-Z0-9_]+', '', Country_name)
# Display the Content
print(new_result)
【问题讨论】:
-
您的正则表达式也将匹配下划线;为什么你不希望它发生?
-
看起来你想要
(?:_[A-Za-z]*[0-9]+[A-Za-z0-9]*)+ -
也许没有正则表达式
'_'.join([x for x in s.split('_') if x.isalpha()])?见ideone.com/c7DqPS -
好的,我看到评论很有帮助,让我们将其转换为答案。