本文几乎囊括了字符串strings的全部使用方法,便于快速学习上手,也便于在使用时查阅。
其它类型的使用方法:列表、字典、集合。
目录
- 字符串
- 字符串方法
-
- 大小写(capitalize(), upper(), lower(), casefold(), title())
- 索引、查找(index(), rindex(), find(), rfind())
- 统计元素个数(count())
- 判断(isX())
- 开头、结尾(startswith(), endswith())
- 删除开头、结尾(lstrip(), rstrip(), strip(), removeprefix(), removesuffix())
- 连接和分割(join(), split(), splitlines(), rsplit(), partition(), rpartition())
- 对齐(center(), ljust(), rjust())
- 替换(replace())
- 填充(zfill())
- 格式化(format(), format_map())
- 转换表(maketrans(), translate())
- 替换tab(expandtabs())
- 编码(encode())
字符串
字符串类型
在python中,字符串以单引号'
或双引号"
开头和结束,如
str1 = 'python'
str2 = "python"
但是,如果字符串内包含了单引号或者双引号呢?可有如下几种方法。
- 单双引号混用
如果字符串中有单引号'
,那么字符串用双引号"
开头和结尾;如果字符串中有双引号"
,则以单引号'
开头和结尾,如
str1 = 'hello " world'
str2 = "hello ' world"
- 转义字符
字符串中可以使用转移字符,尤其适用于字符串中既有单引号'
又有双引号"
的情况。如
str = 'hello \' world' # hello ' world
如果使用原始字符串,即在字符串开始的引号前加上r
,则会忽略所有的转移字符,认为斜杠\
是字符串的一部分,如
print(r'hello \' world') # hello \' world
- 三重引号
如果字符串跨越多行,包含换行、引号、制表符等,字符串可使用 3 个单引号或 3 个双引号作为开始或结束。如
print('''Hello
world,
'python''')
三个双引号开头和结束的内容可作为多行注释。
字符串还可以用str()
函数构造。
下标和切片
字符可使用下标或切片,来获取字符串中的字符或字符串,下标从0开始,如
s = 'Hello world!'
print(s[0]) # 输出H
print(s[6]) # 输出w
print(s[-1]) # 输出!,倒数第1个
print(s[2: 5]) # 输出lo,第2个至第5-1个
print(s[: 5]) # 输出Hello,第0个至第4个
print(s[6:]) # 输出world!,第6个至最后一个
字符串切片并非修改原来的字符,而是生成了新的字符(串)。
in
和not in
in
和not in
精确地测试(区分大小写)第 1 个字符串是否在第 2 个字符串中,输出True
或False
,如
'Hello' in 'Hello world' # True
'hello' in 'Hello world' # False
'hello' not in 'Hello world' # True
连接和倍增(+, *)
可使用加号+
连接两个字符串,如
str = 'Alice' + 'Bob' # 'AliceBob'
此方法不适用于字符串 + 整数的形式,必须显示地将数字转化为字符串。
字符串可使用*
表示倍增,如
str = 'Alice' * 5 # 'AliceAliceAliceAliceAlice'
表示有 5 个’Alice’连续地拼接起来。
*
不适用于连接 2 个字符串,或者 1 个字符串和 1 个浮点数。