str.count() Count substring
Last updated: 2026-09-22
str.count() Count substring
str.count(sub[, start[, end]]) counts sub in the given range.
| Category | String Methods |
|---|---|
| Kind | Built-in Type Method |
| Python Version | all |
📝 Syntax
str.count(sub[, start[, end]])
⚙️ Parameters
| sub Required | The substring to count. |
|---|---|
| start Optional | Start index of the range (inclusive); None means the beginning.(Default:None) |
| end Optional | End index of the range (exclusive); None means the end.(Default:None) |
Returns:int. The number of non-overlapping occurrences of sub in the range.
Mutates the original:No (returns a new object)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
3
2
💡 Related Cases
More case studies coming soon — check back later.
❓ FAQ
QDoes count() count overlapping occurrences of a substring?
ANo. 'aaa'.count('aa') returns 1, not 2; substring counting does not allow overlaps.
QWhat does count('') with an empty substring return?
AIt returns len(s) + 1. 'abc'.count('') is 4, because the empty substring matches once at each gap between characters and at both ends.
QHow do I count occurrences only within a certain range?
AUse the start and end parameters to delimit the range (left-closed, right-open), e.g. 'banana'.count('a', 2, 5). Without them the whole string is counted.
QWhat is returned when the substring does not exist?
A0, without raising an error.