2016-08-22 2 views
1

Моего входа является переменным является строкой:Получить конкретные буквы из строки

entity = "SmartSys_1_13_PP" 

Мне нужно дополнительными последние две букв имени юридического лица. В этом случае результатом будет PP.

Одним из возможных решений является разграничение имени с помощью _, а затем рассмотрение последнего поля в качестве ответа. Есть ли одна строка, которая может напрямую анализировать последние две буквы?

+4

Что-то вроде 'имя [-2:]'? –

+2

Устанавливается шаблон? –

+1

Последние два символа? 'Лицо [-2:]'. – L3viathan

ответ

3

Вы меня используете струнную нарезку. В вашем случае, это будет: name[-2:]

Но не забудьте добавить проверку, потому что он возвращает строку, как в случае длина строки меньше 2. Ваш код должен быть как:

if len(name) > 2: 
    print name[-2:] 
else: 
    # Whatever you want to do 

### For example: 
>>> '12345'[-2:] 
'45' 
>>> '1'[-2:] 
'1' 
>>> ''[-2:] 
'' 
+2

Не будет исключения, если длина строки меньше двух символов. В этом случае вы просто получите целую строку. –

+0

Да. Ты прав. Обновите ответ. Спасибо за информацию! –

1

Python strings - это последовательности отдельных символов. Вы можете нарезать их так же, как вы нарезаете список Python.

entity = 'SmartSys_1_13_PP' 
print(entity[-2:]) 
PP 
0

Как вы предлагаете, вы можете разделить строку на '_', то получите последнюю подстроку:

>>> entity = "SmartSys_1_13_PP" 
>>> entity.split('_')[-1] 
'PP' 
Смежные вопросы