Усечение строки в python
Кто-то дал мне синтаксис для усечения строки следующим образом:
string = "My Text String"
print string [0:3] # This is just an example
Я не уверен, что это называется (синтаксис строки [0: 3]), поэтому мне было трудно найти его в Интернете и понять, как это работает. Пока я думаю, что он работает так:
- string [0: 3] # возвращает первые 3 символа в строке
- string [0: -3] # вернет последние 3 символа строки
- string [3: -3] # кажется, усекает первые 3 символа и последние 3 символа
- string [1: 0] # Я возвращаю 2 одинарные кавычки.... не уверен, что это делает
- string [-1:1] # тот же, что и последний
В любом случае, возможно, есть несколько других примеров, которые я могу добавить, но я хочу сказать, что я новичок в этой функции, и мне интересно, как это называется, и где я могу найти дополнительную информацию об этом. Я уверен, что где-то я просто отсутствовал.
Спасибо за любые предложения,
Mike
Ответы
Ответ 1
Он называется срезом:
<сильные > s [I: J: K]
Срез s от я до j определяется как последовательность элементов с индекс k такой, что я <= k < к. Если я или j больше len (s), используйте Len (ы). Если я опущено или None, используйте 0. Если j опущено или None, используйте Len (ы). Если я больше или равно j, срез пуст.
источник
Ответ 2
Как @Uku и @thebjorn сказали, что он называется Slicing
Но один простой способ подумать - рассмотреть String как список, например, вы можете сделать:
text = 'Any String'
for letter in text:
print letter
И то же самое, если вы хотите получить конкретную букву внутри строки:
>> text = 'Any String'
>> text[4]
'S'
ps.: Помните, что он основан на нулевом значении, поэтому текст [4] возвращает 5-ю букву.
Используя Slice, он вернет текст "подстроки" [i: j] из вашей исходной строки, где "i" - это начальный индекс (включительно), а "j" - конечный индекс (исключительный), например:
>> text = 'Any String'
>> text[4:6] # from index 4 to 6 exclusive, so it returns letters from index 4 and 5
'St'
>> text[0:4]
'Any '
>> text[:4] # omiting the "i" index means i = 0
'Any '
>> text[4:] # omitting the "j" index means until the end of the string
Отрицательный индекс относится к концу строки, как замена подстановки из отрицательного индекса на "len (text) + i".
В нашем случае len (text) равно 10, отрицательный индекс -1 будет похож на текст [9], чтобы получить последний элемент, -2 вернет последний, но один элемент и т.д.
В приведенных вами примерах строка [0: -3] должна возвращать все, кроме последних трех символов, а строка [3: -3] должна возвращать все, кроме первых 3 и последних 3.
Надеюсь, что это поможет.
Ответ 3
Он называется нарезкой, читайте больше об этом, например. здесь: http://docs.python.org/tutorial/introduction.html#strings