2016-06-03 2 views
2

У меня есть строка, которая в основном представляет собой путь к файлу .mp4.Как проверить, заканчивается ли строка определенным образом?

Я хочу, чтобы проверить, если путь файла одного из следующих типов:

/*.mp4 (nothing before the slash, anything after) 
*/*.mp4 (anything before and after the slash) 
[!A]*.mp4 (anything before the extension, **except** for the character 'A') 

Что бы быть лучшим способом для достижения этой цели? Спасибо!

EDIT:

Я не ищу, чтобы проверить, если файл заканчивается .mp4, я ищу, чтобы проверить, если он заканчивается с ним и матчей каждый из этих 3 сценариев отдельно.

Я попытался использовать «endswith», но он слишком общий и не может «получить конкретный», как то, что я ищу в своих примерах.

+2

'string.endswith ('mp4')'? – castis

+0

Это обобщение, я ищу способ тестирования _each_ описанных выше сценариев отдельно. – Gambit2007

+0

что вы os? вы что-то протестировали? files = os.listdir ('.') предоставит вам файлы в вашем cwd, и вы можете проверить свой первый параметр с помощью «для f в файлах: if file.endswith (« .pdf »)« do stuff »(вы можете также удовлетворяют ваш третий параметр, следующий с «if» A «not in f» –

ответ

6

Вот они:

string.endswith('mp4') and string.startswith('/') 

string.endswith('mp4') and "/" in string 

string.endswith('mp4') and not "A" in string 

Обновлено в оператор лучше, чем найти()

+0

только одна коррекция - для того, чтобы найти форвард-люк, вам нужно сбежать от нее, так что на самом деле это будет «//» – Gambit2007

+1

@ Gambit2007 нет, вам не нужно было бы ее избегать. В большинстве систем следует избегать только обратных косых черт. – Jules

+0

Хорошо, я использую OS X El Capitan, и мне пришлось сбежать от него – Gambit2007

Смежные вопросы