Подстрока в строке Python – поиск вхождения и наличия
В этом уроке мы рассмотрим подстроку в строке python и то, как она работает, ее поиск в самых простых примерах.
Определение строки
«Строка представляет собой последовательность из нескольких кодовых символов. Строка включает число или набор символов, которые могут включать буквенно-цифровые и специальные символы соответственно».
Буквально, обособляя символы кавычками, мы можем построить строку. Одинарные кавычки обрабатываются Python так же, как двойные кавычки. Построить строки так же легко, как присвоить значение переменной.
Variable1 = "Hello Python" Variable2 = "Welcome to the world of Python"
Предопределенные строковые методы
Здесь мы обсудим некоторые методы, которые используются для управления строками в Python. Они представлены в таблице ниже.
Метод | Описание | |
---|---|---|
1. | Center() | Возвращается заполненная пробелами строка с входной строкой, расположенной по всей ширине столбцов. |
2. | Count() | Если указаны начало списка и конец индекса остановки, он используется для подсчета количества раз, когда ‘str’ встречается в последовательности или в подстроке строки. |
3. | Capitalize() | Этот метод используется для заглавной буквы в строке. |
4. | endswith() | Определяет, заканчивается ли строка или подстрока строки суффиксом(если предлагается начало списка и конец индекса остановки); возвращает истину, а если нет, то неверно. |
5. | encode() | Этот метод возвращает зашифрованное представление строки; если появляется ошибка, ValueError возникает по умолчанию до тех пор, пока ошибки не будут указаны как «игнорировать» или «заменить». |
6. | decode() | Этот метод позволит вам использовать кодек, авторизованный для шифрования, для расшифровки строки. Расширенная кодировка для стандартной кодировки строк. |
7. | expandtabs() | Он используется для расширения строковых разделов на несколько пробелов; если разделы не указаны по умолчанию, необходимо 8 пробелов на раздел. |
8. | find() | Этот метод определяет, находится ли str в строке или подстроке, если возвращаются начало и конец индекса, если индекс является числовым, и -1 в противном случае. |
9. | index() | Метод index() работает так же, как и метод find(), но если str не идентифицирован, он создает исключение. |
10. | isalpha() | Если в последовательности есть хотя бы 1 буква, и все буквы являются алфавитными или ложными, она возвращает истину. |
11. | isalnum() | Этот метод возвращает истину, если последовательность включает хотя бы одну букву и все буквы являются буквенно-цифровыми и ложными. |
12. | islower() | Этот метод используется для возврата истины, если строка содержит только одну букву, а все буквы в регистре находятся в нижнем регистре; в противном случае возвращается false. |
13. | isdigit() | Он используется для возврата истины, если какая-либо последовательность имеет цифры, в противном случае – ложь. |
14. | istitle() | Метод Istitle() возвращает истину, если последовательность соответствует «titlecase», в противном случае возвращает ложь. |
15. | isnumeric() | Он используется для возврата действительного, если в последовательности Unicode есть только числовые символы, в противном случае возвращает false. |
16. | isspace() | Если в строке есть только пробелы, этот метод возвращает true, в противном случае – false. |
17. | isupper() | Если строка содержит хотя бы одну букву в регистре, а все буквы в заглавной форме, метод isupper() становится истинным, в противном случае он становится ложным. |
18. | len() | Метод len() помогает найти размер или длину строки. |
19. | join() | Эта функция объединяет изображения элементов в последовательности в строку с разделителем строк. |
20. | maketrans() | Метод позволит вам вернуть диаграмму преобразования для используемой операции преобразования. |
21. | lower() | Поможет преобразовать все символы верхнего регистра строки в нижний регистр. |
22. | ljust() | Этот метод будет использоваться для выделения последовательности, заполненной пробелами, до максимальной ширины столбца с выравниванием начальной строки по левому краю. |
23. | istrip() | Поможет удалить все пробелы в конечной строке. |
24. | replace() | Он используется для замены всех существующих проявлений в строке новыми проявлениями или, если указан максимум, максимумом проявлений. |
25. | max() | Этот метод используется для возврата максимального количества букв алфавита из последовательности str. |
26. | min() | Используется для возврата минимального количества букв алфавита из последовательности str. |
27. | rjust() | Поможет вернуть последовательность, заполненную пробелами, до максимальной ширины столбца, при этом исходная строка будет выровнена по правому краю. |
28. | rfind() | Работа метода rfind() аналогична работе метода find(), но он ищет в обратной строке. |
29. | rindex() | Работа функции rindex() аналогична функции index(), но она ищет обратную строку. |
30. | strip() | Этот метод используется для выполнения функций методов rstrip() и lstrip(). |
31. | startswith() | Он используется для определения того, начинается ли последовательность или последовательность подстроки с str(если предоставлены начальный индекс begin и завершающий конец индекса); возвращает истину, если это так, и ложь, если нет. |
32. | split() | Используется для разделения последовательности на подстроку str(хранилище, если не указано) и возвращает массив подстрок; если указан, разделен на максимальное количество подстрок. |
33. | spilitlines() | Он будет использоваться для разделения строки на все NEWLINE(или num) и возвращает список каждой строки с удаленными NEWLINE. |
34. | translate() | Используется для преобразования строк в соответствии со строкой str(256 символов) в таблице преобразования, исключая строки из серии del. |
35. | swapcase() | Метод swapcase() используется для изменения условия для всех букв последовательности. |
36. | заглавие() | Он используется для возврата версии описания строки, т. е. все термины начинаются в верхнем регистре, а остаток – в нижнем регистре. |
37. | isdecimal() | Он используется для возврата true, если в последовательности Unicode есть только десятичные знаки, и false вместо этого. |
38. | zfill() | Этот метод поможет вернуть исходную последовательность нулей с заполнением слева до максимальной ширины букв; zfill() сохраняет любую указанную подпись для цифр(меньше нуля). |
39. | upper() | Поможет преобразовать все строчные символы строки в прописные. |
40. | rstrip() | Он используется для удаления всех пробелов в предыдущей последовательности. |
Что такое подстрока в Python?
Подстрока в Python – это последовательный сегмент символов в строке. Другими словами: «часть строки является подстрокой. Строка Python определяет несколько методов построения подстроки, проверки, включает ли строка подстроку, индекс подстроки и т. д.»
Например, подстрока «the better of» – «It was the better of times». А, «Itwastimes» – это серия «It was the better of times», а не подстрока.
Мы можем построить подстроку с помощью нарезки строки. Мы должны использовать метод split() для создания массива подстрок на основе указанного разделителя.
Синтаксис создания строки в Python приведен ниже:
S = 'Welcome to the python world' name = s[10:] // substring creation with the help of slice print[name] A1 = s.split() Print(A1) // Array of substring with the help of split() method
Здесь индекс начинается с 0.
>>> s = 'Welcome to the python world' >>> s[10:] 'python' >>> s.split() ['Welcome', 'to', 'the', 'python', 'world'] >>>
После успешного выполнения кода мы получили то, что видим ниже на экране.
Мы можем использовать метод find() или оператор in, чтобы оценить, доступна ли подстрока в последовательности или нет.
s = 'Welcome to the python world' if 'Name' in s: // Checking substring with the help of in operator print('Substring found') if s.find('Name') != -1: // Checking substring with the help of find() print('Substring found')
Здесь метод find() возвращает индекс позиции подстроки, если он совпадает, иначе он вернет -1.
>>> s = 'Welcome to the python world' >>> >>> if 'name' in s: Print('Substring found') . Substring found >>> >>> if s.find('name') ! = -1: Print('Substring found') . Substring found >>>
Мы можем определить количество итераций подстроки в массиве с помощью метода count().
Синтаксис проверки наличия подстроки:
s = ' Welcome to the python world ' print('Substring count =', s.count('c')) s = 'Python is a best language' print('Substring count =', s.count('Py'))
>>> s = ' Welcome to the python world ' >>> print('Substring count =', s.count('c')) >>> s = 'Python is a best language' >>> print('Substring count =', s.count('Py')) >>>
После выполнения вышеуказанного кода мы получили следующий результат:
В языке Python нет встроенной функции для получения массива всех значений индекса подстроки. В конце концов, используя метод find(), мы можем просто добиться этого.
Синтаксис поиска всех индексов подстроки приведен ниже:
def find_all_indexes(input_str, substring): s = 'Python is the best programming language' print(find_all_indexes(s, 'Py'))
>>> def find_all_indexes(input_str, substring): ? L2 = [] ? length = Len(input_str) ? index = 0 ? while index < Length: ? i = input_str.find(substring, index) ? if i == -1: ? return L2 ? L2.append(i) ? index = i + 1 ? return L2 ? >>> s = ' Python is the best programming language ' >>> print(find_all_indexes(s, 'Py'))
После успешного выполнения вышеуказанного программного кода мы получили следующий результат:
Это возвращает нарезанную строку, начиная с позиции 5 массива до последней из последовательности Python.
// Substring or slicing with the help of start index without end index >>> s = 'It is to demonstrate substring functionality in python.' >>> s [5:]
Это возвращает нарезанную строку от начала до конца index-1.
// Substring or slicing with the help of end index without start index >>> s = 'Python is a powerful programming language' >>> s [7:]
Это поможет вам получить на выходе всю строку.
Синтаксис для нарезки всей подстроки показан ниже:
// Substring or slicing of complete string >>> s = 'Python is a robust programming language.' >>> s [ : ]
Это возвращает один символ подстроки из строки.
Синтаксис для выделения одного символа из строки показан ниже:
// Substring or slicing of a single character >>> s = 'Python is a widely used language.' >>> s [ 12 ]
После успешного выполнения вышеуказанного кода мы получили следующий результат:
Это поможет вам вернуть строку в обратном порядке.
// Reversing of a string with the help of Substring or slicing through negative step >>> s = 'Python language supports the string concept.' >>> s [ : : -1 ]
После успешного выполнения вышеуказанного программного кода мы получили следующий результат:
Работа отрицательного индекса
Работоспособность отрицательного индекса продемонстрирована в таблице ниже.
P | Y | Т | H | О | N |
0 | 1 | 2 | 3 | 4 | 5 |
-5 | -4 | -3 | -2 | -1 | -0 |
Здесь, в приведенной выше таблице, мы используем слово Python, чтобы продемонстрировать точно работающую функциональность отрицательного индекса.
Используется для нарезки или подстроки строки с помощью отрицательного индекса. Индекс последовательности начинается с 0 до 5, и мы также будем использовать отрицательный индекс.
Синтаксис для нарезки строки с помощью отрицательного индекса показан ниже:
// Substring or slicing of a string through a negative index >>> s = 'PYTHON' >>> s [ 0 : -4 ]
После успешного выполнения вышеуказанного программного кода мы получили следующий результат:
Используется для нарезки или подстроки строки с помощью положительного индекса.
// Substring or slicing of a string through a positive index >>> s = 'PYTHON' >>> s [ 0 : -2 ]
Возвращает полные подстроки строки с помощью нарезки строки и понимания списка.
// Using slicing and list comprehension of string's substring >>> s = 'PYTHON' >>> str = [s[ i : j] ] for i in range(Len(s)) for j in range(i + 1, Len(s) + 1) print(str)
Возвращает полные подстроки строки с помощью нарезки строки и понимания списка.
// Using slicing and itertools.combination() of string's substring >>> s = 'PYTHON' >>> str = [s[ i : j] ] for i in range(Len(s)) for j in range(i + 1, Len(s) + 1) print(str)