There is no simple built-in string function that does what you’re looking for, but you could use the more powerful regular expressions:
import re
[m.start() for m in re.finditer(‘test’, ‘test test test test’)]
#[0, 5, 10, 15]
If you want to find overlapping matches, lookahead will do that:
[m.start() for m in re.finditer('(?=tt)', 'ttt')] #[0, 1]
If you want a reverse find-all without overlaps, you can combine positive and negative lookahead into an expression like this:
search = 'tt'
[m.start() for m in re.finditer(‘(?=%s)(?!.{1,%d}%s)’ % (search, len(search)-1, search), ‘ttt’)]
#[1]
re.finditer
returns a generator, so you could change the []
in the above to ()
to get a generator instead of a list which will be more efficient if you’re only iterating through the results once.
Related Posts:
- Remove all special characters, punctuation and spaces from string
- This can be done without regex:
- Remove all special characters, punctuation and spaces from string
- Using strip() to clean up a string
- Does Python have a string ‘contains’ substring method?
- How to convert list to string [duplicate]
- TypeError: a bytes-like object is required, not ‘str’ when writing to a file in Python3
- Print string to text file
- Best way to convert string to bytes in Python 3?
- Pythonic way to create a long multi-line string
- Does Python have a string ‘contains’ substring method?
- TypeError: not all arguments converted during string formatting python
- ‘str’ object does not support item assignment
- How do I append one string to another in Python?
- How do I append one string to another in Python?
- Random string generation with upper case letters and digits
- How can I split and parse a string in Python?
- whitespace in regular expression
- Convert bytes to a string
- Regex: AttributeError: ‘NoneType’ object has no attribute ‘groups’
- re.sub erroring with “Expected string or bytes-like object”
- How to read a text file into a string variable and strip newlines?
- Python convert tuple to string
- write() versus writelines() and concatenated strings
- Why is it string.join(list) instead of list.join(string)?
- Split a string into 2 in Python
- Best way to strip punctuation from a string
- How to check if the string is empty?
- Does “\d” in regex mean a digit?
- Split string on whitespace in Python
- How do I convert a list of ascii values to a string in python?
- Python TypeError: not enough arguments for format string
- How to add a string in a certain position?
- How can I concatenate str and int objects?
- What does the ‘b’ character do in front of a string literal?
- Best way to replace multiple characters in a string?
- Convert columns to string in Pandas
- How to delete a character from a string using Python
- Python: Get the first character of the first string in a list?
- How to convert string to binary?
- Remove the first character of a string
- Quoting backslashes in Python string literals
- Python string class like StringBuilder in C#?
- AttributeError: ‘list’ object has no attribute ‘replace’ when trying to remove character
- How to check if a string is a substring of items in a list of strings?
- Best way to replace multiple characters in a string?
- How can I splice a string?
- Detect whether a Python string is a number or a letter
- Finding all possible permutations of a given string in python
- How do I append one string to another in Python?
- AttributeError: ‘list’ object has no attribute ‘replace’ when trying to remove character
- ValueError: cannot index with vector containing NA / NaN values
- How to convert string to binary?
- Converting from a string to boolean in Python?
- How to check if type of a variable is string?
- How do I format a string using a dictionary in python-3.x?
- Removing numbers from string
- How do I check if there are duplicates in a flat list?
- How to find char in string and get all the indexes?
- How can I print variable and string on same line in Python?
- Remove quotes from String in Python
- Convert hex string to int in Python
- How can I check if character in a string is a letter? (Python)
- How can I check if character in a string is a letter? (Python)
- How can I find the first occurrence of a sub-string in a python string?
- How to concatenate items in a list to a single string?
- Extract part of a regex match
- AttributeError: ‘list’ object has no attribute ‘lower’ gensim
- Find the nth occurrence of substring in a string
- How to convert ‘binary string’ to normal string in Python3?
- Properly formatted multiplication table
- How to get a function name as a string?
- Pandas error “Can only use .str accessor with string values”
- Python: Converting string into decimal number
- How to remove parentheses from string [duplicate]
- How to compare individual characters in two strings in Python 3
- Convert a Unicode string to a string in Python (containing extra symbols)python string unicode type-conversion
- How to repeat a string with spaces?
- AttributeError: ‘str’ object has no attribute ‘items’
- How to pad zeroes to a string?
- What does this Django regular expression mean? `?P`
- How do I convert a string to a double in Python?
- How can I copy a Python string?
- How to strip a specific word from a string?
- Split string using a newline delimiter with Python
- Checking if a string can be converted to float in Python
- Remove specific characters from a string in Python
- How to get ° character in a string in python?
- Python cant convert ‘list’ object to str error [closed]
- Python regex match space only
- Case insensitive regular expression without re.compile?
- Mutable strings in Python
- python’s re: return True if string contains regex pattern
- How can I check if a string contains ANY letters from the alphabet?
- Cannot concatenate ‘str’ and ‘float’ objects?
- How to repeat individual characters in strings in Python
- When to use %r instead of %s in Python? [duplicate]
- Python convert tuple to string
- Python – difference between two strings
- TypeError: coercing to Unicode: need string or buffer