str = "a\b\c\dsdf\matchthis\erwe.txt"
最後のフォルダ名。 @chrisaycockと@レイフ・KETTLERが指摘したようにPython:Regex help
マッチ
str = "a\b\c\dsdf\matchthis\erwe.txt"
最後のフォルダ名。 @chrisaycockと@レイフ・KETTLERが指摘したようにPython:Regex help
マッチ
それはプラットフォームに依存しますので、os.path.split(path)
を使用することをお勧め。
path_file = "a\b\c\dsdf\matchthis\erwe.txt"
path, file = os.path.split(path_file)
path, dir = os.path.split(path)
x = "a\b\c\d\match\something.txt"
match = x.split('\\')[-2]
>>> str = "a\\b\\c\\dsdf\\matchthis\\erwe.txt"
>>> str.split("\\")[-2]
'matchthis'
>>> import re
>>> print re.match(r".*\\(.*)\\[^\\]*", r"a\b\c\dsdf\matchthis\erwe.txt").groups()
('matchthis',)
を "matchthis"。可能であれば、x.split(r '\')を使用してください。これは、より速く、読みやすく、そしてより平凡な方法です。正規表現が本当に必要な場合は、正規表現を使用してください。
EDIT: 実際には、os.pathが最適です。プラットフォームに依存しない。 UNIX /窓など
正規表現を使用せずに、単に実行します。
>>> import os
>>> my_str = "a/b/c/dsdf/matchthis/erwe.txt"
>>> my_dir_path = os.path.dirname(my_str)
>>> my_dir_path
'a/b/c/dsdf/matchthis'
>>> my_dir_name = os.path.basename(my_dir_path)
>>> my_dir_name
'matchthis'
+1 – kevpie
「matchthis」.... –
正規表現は必要ありません。最終的なディレクトリを取得するには、2回呼び出す必要があります。単に 'str.split(" \\ ")'または同様のものを使用してください。 – chrisaycock
ディレクトリを使って作業する方が、プラットフォームに依存しない明示的に分割する代わりにos.pathを使用する方が良いでしょう。 – Rozuur