使用Python正则表达式处理路径前缀遇问题,期望提取BMF求指导
提取路径中的目标部分
你当前的代码是把所有/替换为空,所以JG/BMF/直接变成了JGBMF,这显然不符合你要提取BMF的需求。下面给两种简单的解决方法:
方法一:使用正则表达式提取
通过正则匹配第一个/之后到最后一个/之前的内容,精准拿到目标字符串:
import re CommonPrefixes = {'Prefix': 'JG/BMF/'} pattern = r'^.+/(.+)/$' match_result = re.match(pattern, CommonPrefixes["Prefix"]) if match_result: result = match_result.group(1) print(result) # 输出: BMF
方法二:用字符串分割(更简洁)
如果路径结构固定是前缀/目标/这种格式,直接用split分割后取对应位置的元素就行,不需要正则:
CommonPrefixes = {'Prefix': 'JG/BMF/'} split_parts = CommonPrefixes["Prefix"].split('/') # 分割后得到列表 ['JG', 'BMF', ''],取索引为1的元素 result = split_parts[1] print(result) # 输出: BMF
要是遇到层级更多的路径(比如JG/BMF/subfolder/),想提取最后一个有效目录名,可以先过滤掉空字符串再取最后一个元素:
CommonPrefixes = {'Prefix': 'JG/BMF/subfolder/'} valid_parts = [part for part in CommonPrefixes["Prefix"].split('/') if part] result = valid_parts[-1] print(result) # 输出: subfolder
内容的提问来源于stack exchange,提问作者user14932992
相关产品推荐
相关产品推荐

