使用Python替换包含目录路径的字符串的部分

2024-09-29 01:21:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个很大的字符串,里面可能有很多路径,类似于这个结构:

dirA/dirB/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn

我需要将字符串的a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn部分之前的所有内容替换为“local/”,这样 结果如下:

local/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn

字符串可以包含的不仅仅是dirA/dirB/at 字符串的开头也是。你知道吗

如何在Python中执行此字符串操作?你知道吗


Tags: 字符串路径内容local结构atdirbdira
3条回答

使用正则表达式,可以用"locals/"替换最后一个"/"之前的所有内容

import re
s = "dirA/dirB/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn"
re.sub(r'.*(\/.*)',r'local\1',s)

您将获得:

'local/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn'

使用os模块

例如:

import os


path = "dirA/dirB/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn"
print(os.path.join("locals", os.path.basename(path)))

另一种方法是拆分"/"上的字符串,然后将"locals/"与结果列表的最后一个元素连接起来。你知道吗

s = "dirA/dirB/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn"
print("locals/" + s.split("/")[-1])
#'locals/a1ed4f3b-a046-4fbf-bb70-0774bd7bfcn'

相关问题 更多 >