获取结束时和之前的子字符串之间的子字符串

时间:2017-02-17 16:28:59

标签: python

我目前有一个格式的字符串:

/Users/me/Documents/Project/zh-Hant-TW.lproj

我想在它之前隔离单词.lproj和正斜杠/之间的字符串。结果应为zh-Hant-TW。到目前为止,我正在尝试使用:

print(myString[len("/"):-len(".lproj")])

然而,这是选择第一个/,结果是:

Users/me/Documents/Project/zh-Hant-TW

不知道如何解决这个问题。尝试倒转琴弦并向后工作,但这只是一团糟。关于如何做到这一点的任何提示或指示?感谢

4 个答案:

答案 0 :(得分:1)

如果是实际路径,您可以随时使用:

import os

print(os.path.splitext(os.path.basename(myString))[0])

答案 1 :(得分:0)

试试这个:

import os

print os.path.basename('/Users/me/Documents/Project/zh-Hant-TW.lproj').split('.')[0]

>> zh-Hant-TW

答案 2 :(得分:0)

你应该使用python的os.path库,它可以帮助你优雅地处理路径相关的问题。

import os
basename = os.path.basename(myString)
filename = os.path.splitext(filename)[0]

答案 3 :(得分:0)

由于使用os模块已有多个答案,因此这里有一个使用正则表达式...

import re

path = '/Users/me/Documents/Project/zh-Hant-TW.lproj'

results = re.findall(r'(?<=Project\/)(.*).lproj', path')[0]

# results = 'zh-Hant-TW'