美文网首页
字符串方法0x06 -- 统计/查找/索引/替换

字符串方法0x06 -- 统计/查找/索引/替换

作者: import_hello | 来源:发表于2018-11-25 12:11 被阅读0次

转载须注明出处:简书@Orca_J35 | GitHub@orca-j35

字符串不仅支持所有通用序列操作,还实现了很多附件方法。
我会以『字符串方法』为标题,分几篇笔记逐一介绍这些方法。
我会在这仓库中持续更新笔记:https://github.com/orca-j35/python_notes

count

🔨 str.count(sub[, start[, end]])

Return the number of non-overlapping occurrences of substring sub in the range [start, end]. Optional arguments start and end are interpreted as in slice notation.

# 统计字符串中sub的出现次数
>>> 'a1 a2 a3 a4'.count('a')
4
# 可使用start和end指定索引范围
>>> 'a1 a2 a3 a4'.count('a',2)
3
>>> 'a1 a2 a3 a4'.count('a',2,4)
1
>>> 'a1 a2 a3 a4'.count('a',2,-2) # 可接收负索引
2

find&rfind

🔨 str.find(sub[, start[, end]])

Return the lowest index in the string where substring sub is found within the slice s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found.

# 从低索引开始查找子串sub,返回第一次出现sub的索引
>>> 'a1 b2 b3 c4'.find('b')
3
# 可使用start和end指定索引范围
>>> 'a1 b2 b3 c4'.find('b',4,-1)
6
# 如果没有找到sub,则返回-1
>>> 'a1 b2 b3 c4'.find('d')
-1

Note: The find() method should be used only if you need to know the position ofsub. To check if sub is a substring or not, use the in operator:

>>> 'Py' in 'Python'
True

🔨 str.rfind(sub[, start[, end]])

Return the highest index in the string where substring sub is found, such that sub is contained within s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 on failure.

# 从高索引开始查找子串sub,返回第一次出现sub的索引
>>> 'a1 b2 b3 c4'.rfind('b')
6
# 可使用start和end指定索引范围
# 如果没有找到sub,则返回-1

index&rindex

🔨 str.index(sub[, start[, end]])

Like find(), but raise ValueError when the substring is not found.

🔨 str.rindex(sub[, start[, end]])

Like rfind() but raises ValueError when the substring sub is not found.

replace

🔨 str.replace(old, new[, count])

Return a copy of the string with all occurrences of substring old replaced by new. If the optional argument count is given, only the first count occurrences are replaced.

# 将字符串中的old子串替换为new子串
>>> 'ab cd ef ef'.replace('ef','##')
'ab cd ## ##'
# count用于设定替换次数
>>> 'ab cd ef ef'.replace('ef','##',1)
'ab cd ## ef'
>>> 'ab cd ef ef'.replace('ef','##',2)
'ab cd ## ##'

相关文章

网友评论

      本文标题:字符串方法0x06 -- 统计/查找/索引/替换

      本文链接:https://www.haomeiwen.com/subject/hblqqqtx.html