字符串的方法
1. 字符串的查找
| 方法 |
功能 |
| find |
查找,返回从左第一个指定字符的索引,找不到返回-1 |
| rfind |
查找,返回从右第一个指定字符的索引,找不到返回-1 |
| index |
查找,返回从左第一个指定字符的索引,找不到报错 |
| rindex |
查找,返回从右第一个指定字符的索引,找不到报错 |
| count |
计数功能,返回自定字符在字符串当中的个数 |
| 例如: |
|
string = "My name is ZengShuiqiang"
print(string.index("a")) #4
print(string.rindex("a")) #21
print(string.find("a")) #4
print(string.rfind("a")) #21
print(string.count("a")) #2
2. 字符串的拆分
| 方法 |
功能 |
| partition |
把 mystr 以 str 分割成三部分,str 前,str 自身和 str 后 |
| rpartition |
从右往左把 mystr 以 str 分割成三部分,str 前,str 自身和 str 后 |
| splitlines |
按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割 |
| split |
按照指定的内容进行分割 |
| maxsplit |
默认将指定的所有的内容进行分割,可以指定maxsplit 的值,如果 maxsplit=1 表示只按照第一个指定内容进行分割,后面剩余的不分割。 |
| 例如: |
|
string = "My name is ZengShuiqiang"
print(string.partition("i"))
print(string.rpartition("i"))
content = """床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。"""
print(content.splitlines())
print(string.split(" "))
print(string.split(" ",maxsplit=2))
3. 字符串的替换
| 方法 |
功能 |
| replace |
从左到右替换指定的元素,可以指定替换的个数,默认全部替换 |
| translate |
按照对应关系来替换内容 from string import maketrans |
| 例如: |
|
string = "My name is ZengShuiqiang"
print(string.replace("n", "a"))
print(string.replace("n", "a", 2))
string = "My 21me is ZengShuiqi12g"
# 将"12" --> "an"
str_tab = string.maketrans("12", "an")
print(string.translate(str_tab))
4. 字符串的修饰
| 方法 |
功能 |
| center |
让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充 |
| ljust |
让字符串在指定的长度左齐,可以指定填充内容,默认以空格填充 |
| rjust |
让字符串在指定的长度右齐,可以指定填充内容,默认以空格填充 |
| zfill |
将字符串填充到指定的长度,不足地方用 0 从左开始补充 |
| format |
按照顺序,将后面的参数传递给前面的大括号 |
| strip |
默认去除两边的空格,去除内容可以指定 |
| rstrip |
默认去除右边的空格,去除内容可以指定 |
| lstrip |
默认去除左边的空格,去除内容可以指定 |
| 例如: |
|
string = "hello"
print(string.center(10))
print(string.center(10,"*"))
print(string.ljust(10))
print(string.rjust(10))
print(string.zfill(10))
string = " hello "
print(string.strip())
5. 字符串变形
| 方法 |
功能 |
| upper |
将字符串当中所有的字母转换为大写 |
| lower |
将字符串当中所有的字母转换为小写 |
| swapcase |
将字符串当中所有的字母大小写互换 |
| title |
将字串符当中的单词首字母大写,单词以非字母划分 |
| capitalize |
只有字符串的首字母大写 |
| expandtabs |
把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8 |
| 例如: |
|
string= "hello world"
print(string.upper())
print(string.lower())
print(string.swapcase())
print(string.title())
print(string.capitalize())
6. 字符串判断
| 方法 |
功能 |
| isalnum |
判断字符串是否完全由字母或数字组成 |
| isalpha |
判断字符串是否完全由字母组成 |
| isdigit |
判断字符串是否完全由数字组成 |
| isupper |
判断字符串当中的字母是否完全是大写 |
| islower |
判断字符串当中的字母是否完全是小写 |
| istitle |
判断字符串是否满足 title 格式 |
| isspace |
判断字符串是否完全由空格组成 |
| startswith |
判断字符串的开头字符,也可以截取判断 |
| endswith |
判断字符串的结尾字符,也可以截取判断 |
| split |
判断字符串的分隔符切片 |
| 例如: |
|
string = "123abc"
print(string.isalnum())
print(string.isalpha())
print(string.isdigit())
print(string.isupper())
print(string.islower())
print(string.istitle())
print(string.isspace())
string3 = "hello world"print(string3.startswith("h"))
print(string3.endswith("d"))
print(string3.startswith("e",1,5))
print(string3.endswith("l",2,-1))
字符串编码
- encode 是编码,将字符串转换成字节码。str-->byte
- decode 是解码 ,将字节码转换成字符串。 byte-->str
转义字符
| 转义 |
意义 |
| \ \ |
产生一个反斜杠符号( \ ) |
| \ ' |
产生一个单引号(‘) |
| \” |
产生一个双引号(“) |
| \n |
表示换行 |
| \t |
横向制表符(占 8 个字符,如果前面少于 8 个字符则剩余字符使用空格表示) |
| \newline |
连续(当一行代码太长换行是使用) |
| \other |
不转义,保留原有字符 |
字符串格式化
| 格式 |
描述 |
| %% |
百分号标记 |
| %s |
字符串 |
| %d |
有符号整数(十进制) |
| %f |
浮点数字(用小数点符号) |