我正在使用python。我的問題是我有幾個字符串,我必須檢測他們的哪一部分看起來像一條路徑,然後規範化那些實際路徑。
例如我有幾個不同的字符串喜歡如下:
1. .. \ .. \ .. \工作區
2. C:\源\工作區
3. -B .. \ .. \源
4. - 建立.. \ .. \工作\源.. \工作區
5. -HD:\ ABC \ BDS \工作區
基本上一些字符串是路徑通俗易懂和一些具有尾隨 - 附連到它們。選項字符串的長度是可變的。
在上面的例子中,字符串3,4,5包含一個預先附加了選項-B,-build,-H的路徑字符串。
問題是如何從上面的例子中檢測出,字符串的哪部分是路徑,哪部分不是。選項不固定,所以我不能只檢查給定的字符串的頭部預先指定的選項。
要繼續前進的唯一方法是從..開始的子字符串或之前的一個字符(例如C:或D :)。
所以問題是,是否有任何這樣做的一般化的方式或python提供任何函數來從任何特定位置開始截取字符串的一部分?
滿足上述5個例子的任何答案都很酷,即使它有點過度擬合。查找字符串是否爲路徑
我目前使用的代碼例如2和5是:path = path[path.find(':')-1:]
和其他的path = path[path.find('.'):]
。但是這不是一般化和不酷的。所以我正在尋找更好的算法或解決方案。
的是're.split'甚或'str.split'什麼 –
分裂?拆分需要拆分一些字符 – tejas
您無法檢測路徑名。例如,在linux上,路徑允許包含除'\ 0'之外的任何字符。唯一被處理的字符是'\ 0',因爲這會終止字符串,而'/'被用作路徑分量分隔符,但這後一個事實並不重要/幫助... – pasztorpisti