2024-05-19 12:04:47 发布
网友
我已经花了两个小时弄清楚了。我有一根绳子:
C:\\Users\\Bob\\.luxshop\\jeans\\diesel-qd\\images\\Livier_11.png
我有兴趣得到\\Livier_11.png,但对我来说似乎不可能。我该怎么做?在
\\Livier_11.png
您可以使用这个
^.*(\\\\.*)$
Explanation
^
.*
(\\\\.*)
\\
$
Demo
p.S-对于这种情况,您应该使用可用的标准库,而不是regex。在
如果您可以清楚地说“\\”是一个分隔符(除了分隔字符串外,不会出现在任何字符串中),那么您可以说:
str = "C:\\Users\\Bob\\.luxshop\\jeans\\diesel-qd\\images\\Livier_11.png" spl = str.split(“\\”) #split the string your_wanted_string = spl[-1]
请注意,这是一个非常简单的方法,并不总是最好的方法!如果您需要经常这样做,或者如果某些重要的事情依赖于它,请使用库! 如果你只是在学习编码,那么这就更容易理解了。在
我强烈建议使用pythonpathlib模块。它是标准库的一部分,用于处理文件路径。一些例子:
pathlib
>>> from pathlib import Path >>> p = Path(r"C:\Users\Bob\.luxshop\jeans\diesel-qd\images\Livier_11.png") >>> p WindowsPath('C:/Users/Bob/.luxshop/jeans/diesel-qd/images/Livier_11.png') >>> p.name 'Livier_11.png' >>> p.parts ('C:\\', 'Users', 'Bob', '.luxshop', 'jeans', 'diesel-qd', 'images', 'Livier_11.png') >>> # construct a path from parts ... >>> Path("C:\some_folder", "subfolder", "file.txt") WindowsPath('C:/some_folder/subfolder/file.txt') >>> p.exists() False >>> p.is_file() False >>>
编辑:
如果您想使用regex,这应该是有效的:
您可以使用这个
^
-锚定到字符串的开头。在.*
-匹配除新行零或时间(贪婪方法)之外的任何内容。在(\\\\.*)
-捕获组。匹配\\
跟在除换行符之外的任何地方0或更多时间。在$
-锚定到字符串的末尾。在Demo
p.S-对于这种情况,您应该使用可用的标准库,而不是regex。在
如果您可以清楚地说“\\”是一个分隔符(除了分隔字符串外,不会出现在任何字符串中),那么您可以说:
请注意,这是一个非常简单的方法,并不总是最好的方法!如果您需要经常这样做,或者如果某些重要的事情依赖于它,请使用库! 如果你只是在学习编码,那么这就更容易理解了。在
我强烈建议使用python
pathlib
模块。它是标准库的一部分,用于处理文件路径。一些例子:编辑:
如果您想使用regex,这应该是有效的:
^{pr2}$相关问题 更多 >
编程相关推荐