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
- How do I lowercase a string in Python?
- How do I get a substring of a string in Python?
- Does Python have a string ‘contains’ substring method?
- How to read a file line-by-line into a list?
- strip(char) on a string
- 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
- Best way to convert string to bytes in Python 3?
- 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
- How to read a text file into a string variable and strip newlines?
- Convert bytes to a string
- How to print like printf in Python3?
- 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)?
- 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
- Split string with multiple delimiters in Python [duplicate]
- 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?
- How to check whether a str(variable) is empty or not?
- Python TypeError: not enough arguments for format string
- What does the ‘b’ character do in front of a string literal?
- How to add a string in a certain position?
- Check string “None” or “not” in Python 2.7
- 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
- Convert hex to binary
- 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 do I remove a substring from the end of 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
- 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
- Count the number of occurrences of a character in a 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
- Replacing a character from a certain index
- 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]
- TypeError: expected string or buffer
- 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
- Create nice column output in python
- How to repeat a string with spaces?
- TypeError: decoding str is not supported
- AttributeError: ‘str’ object has no attribute ‘items’
- How to pad zeroes to a string?