字符串的方法
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 | 浮点数字(用小数点符号) |