字符串操作
字符串删除前后指定的字符
作用:用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
删除字符串前后所有的指定的字符
函数 :str.strip([移除字符串头尾指定的字符序列]) #默认删除空格
例如:
a = "000000Holle World 0000000"
b = " 123 "
print(a.strip("0")) #指定删除字符串a前后所有的0
print(b.strip()) #不指定删除的字符串,默认删除空格
>>>Holle World
123
** 删除字符串前面的指定字符:str.lstrip()
;用法相同于strip**
** 删除字符串后面的指定字符:str.rstrip()
;用法相同于strip**
字符串的大小写操作
将所有单词首字母大写
函数:capitalize() #首字母大写,其他不变
语法结构:字符串.capitalize()
函数:str.title()
作用:返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写.
`
字符全部大写转换成小写
函数 lower()
函数:str.lower()
作用:返回将字符串中所有大写字符转换为小写后生成的字符串。
函数 casefold() (没啥用)
作用:转换字符串中所有大写字符为小写。
和lower() 的区别:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法
`
字符全部小写转换成大写
函数:str.upper()
作用:返回小写字母转为大写字母的字符串。
`
把所有大写转小写,小写转大写
函数:str.swapcase()
作用:返回大写转小写,小写转大写后的字符串
字符串的查看操作
字符串可以使用切片查看某一位置的元素
字符串可以使用切片来查看,和列表相似
例如:
print("Hello World"[1]) #更多具体方法查看列表
>>>e
查找某字符或字符串的下标位置
函数 :str.find(str, beg=0, end=len(string))
查找不到字符串显示为-1
参数:
str -- 查看的字符串,并不局限于一个字符,可以是多个.
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
例如:
a = "Holle World"
print(a.find("oll")) #查看字符"oll"的下标位置,位置为第一个元素的位置
>>>1
函数:str.rfind()
作用:返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。
参数:同find
例如:
a = "Holle World"
print(a.rfind("l")) #查找"l"最后出现的下标
>>>9
**函数:index()
**
该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
查看某部分字符串是否在整个字符串内
使用in
,在的话返回True
;不在返回False
例如:
print("lo" in "Hello World")
>>>True
统计字符串里某个字符出现的次数
函数:str.count(sub, start= 0,end=len(string))
函数参数:
sub -- 查看的字符串
start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end -- 字符串中结束搜索的位置,默认为字符串的最后一个位置。
例如:
a = "Holle World"
print(a.count("l")) #查看"L"在整个字符串中出现的次数
>>>3
判断字符串是否以指定后缀结尾 或开头
判断字符串是否以指定后缀结尾
可以指定查看范围
函数:str.endswith(suffix[, start[, end]])
函数参数:
suffix -- 要查看的字符串,并不局限于一个字符串,可以是多个。
start -- 字符串中的开始位置。
end -- 字符中结束位置。
例如:
a = "Holle World"
print(a.endswith("rld")) #查看是什么结尾并不局限于一个字符串,可以输入一个或多个
>>>True #返回布尔值 True/FALSE
判断字符串是否以指定前缀开头
函数:str.startswith(str, beg=0,end=len(string))
参数同上
字符串的拼接 高效率
使用join(),将序列中的元素以指定的字符连接生成一个新的字符串。可以把列表拼接成字符串
语法结构:`“拼接字符串”.join(要拼接的一个序列)
例如:
a = "123"
b = "456"
c = "789"
d = "".join((a, b, c, )) #无拼接符
print(d) #输出:123456789
e = "-----".join((a, b, c, )) #拼接符为"-----"
print(e) #输出为:123-----456-----789
>>>123456789
123-----456-----789
格式化输出字符串
使用%输出方式
详细看:
https://blog.csdn.net/weixin_35955795/article/details/52564672
使用{}方式输出方式
比%简单,可以接受不限个参数,位置可以不按顺序
函数:str.format()
详细参数参考: http://www.runoob.com/python/att-string-format.html
例如:
a = "Holle World {name} " #在字符串里面添加"{}",里面为变量
print(a.format(name="Tony")) #使用函数format,定义变量
>>>Holle World Tony
函数:format_map()
和format相似,他后面参数是一个字典
例如:
b = {"name": "Tony", "age": 18}
a = "Holle World {name} {age} "
print(a.format_map(b)) #参数里面也可以现作一个字典,也可以使用变量
>>>Holle World Tony 18
字符串的格式操作
向字符串左右两边添加字符 居中
使用函数 center()
语法结构:`字符串.center(字符个数, “字符”)
例如:
a = "Holle World" #字符串
print(a.center(40, "*")) #向字符串左右两边各添加字符"*"号40个
>>>**************Holle World***************
`
向字符串左面添加字符 右对齐
函数:str.rjust(width[, fillchar])
参数:
width -- 指定填充指定字符后中字符串的总长度.
fillchar -- 填充的字符,默认为空格。
例如:
a = "Holle World"
print(a.rjust(50, "="))
>>>=======================================Holle World
`
向字符串右面添加字符 左对齐
函数:str.ljust(width[, fillchar])
参数:同上
例如:
a = "Holle World"
print(a.ljust(50, "="))
>>>Holle World=======================================
自定义\t制表符的空格
函数 expandtabs()
例如:
a = "Hol\tle World" #字符串中放入了\t制表符
print(a.expandtabs(tabsize=15)) # 这里设置制表符强制为15个空格
>>>Hol le World #放置制表符的位置成了15个空格
判断字符串的组成
判断字符串是否是纯数字组成
函数:str.isdigit()
`
检查字符串是否只由字母组成
函数:str.isalpha()
作用:如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
`
判断字符串中所有的字母是否都为大写。
函数:str.isupper()
`
检测字符串是否由小写字母组成。
函数:str.islower()
作用:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
`
判断字符串里面是否包含除了字母和数字之外的特殊字符
函数:str.isalnum()
作用:若字符串里面包含除了字母和数字之外的字符,返回False,反之返回True
注:包含中文也返回True
`
判断字符串是否由空格组成
函数:str.isspace()
作用:如果字符串中只包含空格,则返回 True,否则返回 False.
`
检查字符串是否是十进制字符
函数:str.isdecimal()
这种方法只存在于unicode对象。
注意:定义一个十进制字符串,只需要在字符串前添加 ‘u’ 前缀即可。
例如:
str = u"this2009";
print str.isdecimal();
str = u"23443434";
print str.isdecimal();
>>>False
True
`
判断字符串中所有的单词首字母是否为大写,且其他字母为小写。
函数:str.istitle()
作用:如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
`
使用指定符号进行分割字符串
函数:str.partition(指定的分隔符) #只分隔一次,返回元组
作用:如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
例如:
a = "Holle World"
print(a.partition("o")) #分隔符"o"
>>>('H', 'o', 'lle World')
函数:str.split(str="", num=string.count(str)). #全部分割掉,返回列表
参数:
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。
作用:通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
例如:
a = "Holle World hi"
print(a.split(" ")) #分隔符为空格,不指定分割次数,全部分割
>>>['Holle', 'World', 'hi'] #返回列表
函数:rsplit()
作用:从字符串的最后面开始分割,参数/使用方法同split
替换字符串的某一部分
作用:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
函数:str.replace(old, new[, max])
参数:
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
例如:
a = "Holle World"
print(a.replace("l", "p", 2)) #把"l"替换成"p",最大替换2个 ;也可以替换单词或多个元素
>>>Hoppe World