2013-07-19 2 views
1
print full_url = request.get_host()+request.get_full_path() 

Результат:Строка в Python. Разбираем URL

127.0.0.1:8000/test/en/

или

127.0.0.1:8000/test/ru/

Как проверить, завершен ли конец строки /en/ или /ru/

+0

Вы можете использовать функцию поиска строки для проверки строки заканчивается «/ ан /» или «/ RU /» Такие, как URL = «127.0.0.1:8000/test/ru/» url.find ('/ ru /') –

ответ

6

Использование endswith:

full_url.endswith('/en/') or full_url.endswith('/ru/') 

Если вы обнаружите, что есть больше расширений, которые вы должны охватывать, вы можете рассмотреть возможность использования any:

any(s.endswith(ext) for ext in ['/ru/', '/en/']) 
+0

Спасибо, что если 'ru' не находится в конце строки' 127.0.0.1: 8000/ru/test/'? – Raman

+0

Раман, см .: http://docs.python.org/2/library/stdtypes.html#typesseq – user9876

+0

Тогда вы можете использовать функцию find full_url.find ('ru') –

0

Вы можете протестировать четыре финальных символов :

full_url[-4:] 

или использовать Метод ends_with строки:

if full_url.ends_with("/en/"): 
    print 'en' 
elif full_url.ends_with("/ru/"): 
    print 'ru' 
+0

Спасибо за редактирование, мне действительно нужно пойти на ланч;) – Frodon

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