python - 从字符串开头删除子字符串

标签 python string substring

我有一个代表文件完整路径的字符串:

full_path = '/home/user/fold1/fold2/sub-fold/'

我需要从这个字符串中删除它存储在一个不同变量中的根路径:

root = '/home/user/fold1/'

因此,生成的路径应该如下所示:

new_path = 'fold2/sub-fold/'

随着我的代码运行存储在许多不同位置的许多文件,完整路径(显然还有根路径)不断变化。

这是我要执行的(不存在的)操作:

new_path = full_path - root

我该怎么做?

最佳答案

对于路径操作,最好使用 os.path :

import os
new_path = os.path.relpath(full_path, root)

FTR:字符串的 - 运算符等价于 string.replace() ,但正如其他人指出的那样,它将替换所有出现的字符串,而不仅仅是开头:

new_path = full_path.replace(root, '')

关于python - 从字符串开头删除子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27208609/

相关文章:

javascript - 在 JavaScript 中获取反斜杠 (\) 后的字符串值

python - 其字谜是回文的子串的数量

python - iloc方法返回不同类型的数据

javascript - 递增字符串中包含的特定数字

javascript - 计算字符串中的大小写字符

c - C 字符串中的子字符串替换

java - 有关带有递归方法的代码的问题

python - NumPy - 根据结构化数组中的其他值设置结构化数组中的值

python - 如何在 python tkinter 中以编程方式打开菜单?

连接字符串时出现 C 段错误(核心已转储)