2015-02-28 3 views
-1

У меня есть эта строка, и мне нужно получить конкретный номер.Найти определенные строковые индексы

E.G. encrypted = "10134585588147, 3847183463814, 18517461398"

Как бы вытащить только второе целое из строки?

+1

Что вы подразумеваете под вторым индексом? Второе слово? –

+0

По индексу я имею в виду, когда он разделяется запятыми –

+0

Итак, чтобы уточнить, это будет '3847183463814'? –

ответ

2

Вы ищете метод «сплит». Поверните строку в список, указав меньшую часть строки, на которой нужно разбить.

>>> encrypted = '10134585588147, 3847183463814, 18517461398' 
>>> encrypted_list = encrypted.split(', ') 
>>> encrypted_list 
['10134585588147', '3847183463814', '18517461398'] 
>>> encrypted_list[1] 
'3847183463814' 
>>> encrypted_list[-1] 
'18517461398' 

Тогда вы можете просто получить доступ к индексам как обычно. Обратите внимание, что списки можно индексировать вперед или назад. Предоставляя отрицательный индекс, мы рассчитываем с правой стороны, а не слева, выбирая последний индекс (без всякого представления о том, насколько велик список). Обратите внимание, что это приведет к IndexError, если список пуст. Если вы используете метод Джона (ниже), в списке всегда будет хотя бы один индекс, если только строка, с которой вы начинаете, сама пуста.

Edited добавить:

Что Джон указывает в комментарии, что если вы не уверены, если строка будет хорошо отформатирована (например, всегда разделены ровно через запятую следуют ровно одним пробелом), то вы можете заменить все запятые пробелами (encrypt.replace(',', ' ')), а затем вызвать split без аргументов, которые будут разделены на любое количество пробельных символов. Как обычно, вы можете связать их вместе:

encrypted.replace(',', ' ').split() 
+2

'encrypted.replace (',', '') .split()', вероятно, более надежный ... –

+0

Как это будет работать, если я захочу найти последний индекс без открытия зашифрованного. Мне нужно сделать это, не зная, сколько индексов есть. После нахождения индексов я хочу так вычитать, не зная индекса, поэтому есть цикл, который можно использовать. –

+0

Конечно, если вы не уверены, строка хорошо себя ведет, как в примере. Добавлен раздел. –

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