2017-02-17 19 views
0

我現在有格式的字符串:獲得一個子之間的串在年底前

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

我想串隔離字.lproj,只是之前它正斜槓/之間。結果應該是zh-Hant-TW。到目前爲止,我想使用:

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

然而,這是採摘的第一個/,其結果是:

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

不知道如何去了解這一點。嘗試扭轉絃樂並向後倒退,但這只是一團糟。任何提示或指示如何做到這一點?由於

+0

'os.path.splitext'可以爲你做一半的工作。我認爲你可以猜出哪一半。另一種完成另一半的方法是'stem.split('/')',它給你一個斜線之間所有位的列表。在哪裏'幹'是你在第一步得到的。 –

+0

''/Users/me/Documents/Project/zh-Hant-TW.lproj".split(「/」)[ - 1] .split(「。」)[0]'? – Abdou

回答

0

試試這個:

import os 

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

>> zh-Hant-TW 
0

你應該使用Python的os.path庫,它可以幫助你處理路徑相關的問題典雅。

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

如果它是一個實際的路徑,你可以隨時使用:

import os 

print(os.path.splitext(os.path.basename(myString))[0]) 
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' 
相關問題