Python字符串操作
2021-01-19 10:12
标签:字符串 bool 汉字 join encoding com 建立 占位符 形式 Python字符串操作 标签:字符串 bool 汉字 join encoding com 建立 占位符 形式 原文地址:https://www.cnblogs.com/linan-8888/p/12909621.html#encoding=utf-8
‘‘‘
字符串类型:str
必须记住的方法1:
join(self):将字符串中的每一个元素按照指定分隔符进行拼接
必须记住的方法2:
strip(self,chars):将字符串中左右两边的“空白符、制表符、换行符”删除,不能将字符串中间的“空白符、制表符、换行符”删掉
移除字符(优先最多匹配)
lstrip(self,chars)):将字符串中最左边的“空白符、制表符、换行符”删除
rstrip(self,chars)):将字符串中最右边的“空白符、制表符、换行符”删除
必须记住的方法3:
split(self,chars,maxsplit):从左到右,以chars字符作为分隔符,分割出的字符串以列表形式储存,maxsplit:表示分割的数量
rsplit(self,chars):从右到左,以chars字符作为分隔符,分割出的字符串以列表形式储存,maxsplit:表示分割的数量
splitlines(bool):只能根据换行符作为分隔符,bool==True保留换行符,bool==False换行符不保留
partition(self,chars):将字符串分割成三个字符串(元组形式存储),从左到右,遇到chars字符时以chars字符串作为分隔符
rpartition(self,chars):从右到左
必须记住的方法4:
find(self, sub, start=None, end=None):从开始往后找,查找第一个所在字符串的位置,如果在字符串中找不到,返回 -1 的值
1、capitalize(self) :首字母大写
2、lower(self)、casefold(self):lower将字符串中的所有字母变小写(只能转化26个字母)(实例:登录验证码),casefold不止是字母,还能对很对未知字符也能变小写
islower(self):判断字符串中的字母元素是否全为小写
3、upper(self):将字符串中的所有字母变成大写
isupper(self):判断字符串中的字母元素是否全为大写
4、swapcase(self):大小写的转换
5、center(self,width,fillchar=None[一个字符]):表示设置字符串的长度为width,字符居中,前面用fillchar填充[fillchar不定义填充为空字符]
ljust(self,width,fillchar=None[一个字符]):字符居左
rjust(self,width,fillchar=None[一个字符]):字符居右
zfill(self,width):默认用0填充宽度,字符居左
6、count(self, sub, start=None, end=None):返回sub在字符串中出现的次数,start、end可以设定查找的字符串的范围
7、endswith(self, suffix, start=None, end=None): 返回值为boll值,判断是以suffix结尾,start、end可以设定查找的字符串的范围
8、startswith(self, prefix, start=None, end=None):返回值为boll值,判断是以prefix开头,start、end可以设定查找的字符串的范围
10、format(self, *args, **kwargs):格式化,将一个字符串中的占位符替换为指定的值
11、format_map(self, mapping):格式化,只是mapping是字典对象
12、expandtabs(self,tabsize):分割作用,按tabsize数量的字符进行分割,遇到\t,后面自动填充空格符
13、isalnum(self):判断字符串中是否只包含字母或数字
14、isalpha(self):判断字符串是否只包含字母或汉字
15、isdecimal(self)/isdigit(self)/isnumeric(self):判断字符串是否只包含数字;isdecimal只能判断十进制的数字,isdigit可判断特殊数字(例如:②),isnumeric可以判断中文数字(例如:二)
16、isidentifier(self):判断字符串是否是标识符(字母、数字、下划线组成,不能以数字开头)
17、islower(self):判断字符串是否都是小写字母
18、isprintable(self):判断字符串是否包含输出不可见的字符(例如:\t、\n),不包含不可见的字符输出结果为True
19、isspace(self):判断字符串是否全部是空格符(空字符串输出结果为False,因为里面没有空格符)
20、istitle(self):判断是否为标题,即所有单词的首字母都为大写
21、title(self):将字符串转换为标题("return true if all cased".title()——>"Return True If All Cased")
22、maketrans()/translate():maketrans()对两个字符串进行对应关系的建立,再配合translate()方法进行替换
23、startswith(self,string,start,end):判断字符串是否以string字符串开头的
endswith(self,string,start,end):判断字符串是否以string字符串结尾的
‘‘‘
#******************#
print("*".join("你们在干嘛?")) #将字符串的每个元素按指定规则进行拼接。
‘‘‘ 输出结果“你*们*在*干*嘛*?” ‘‘‘
test=" \n\tabc def\t\n "
print(test.strip())
print(test.lstrip())
print(test.rstrip())
‘‘‘
abc def
abc def
abc def
‘‘‘
test="ab123ab"
print(test.strip("ab"))
‘‘‘123‘‘‘
test="aggesbalseses"
print(test.partition("s"))
print(test.rpartition("s"))
‘‘‘
(‘agge‘, ‘s‘, ‘balseses‘)
(‘aggesbalsese‘, ‘s‘, ‘‘)
‘‘‘
test="testasdsddaest"
print(test.split("s"))
print(test.rsplit("s",2))
‘‘‘
[‘te‘, ‘ta‘, ‘d‘, ‘ddae‘, ‘t‘]
[‘testasd‘, ‘ddae‘, ‘t‘]
‘‘‘
test = "adfg\n你好惊愕了\nSEERER"
print(test.splitlines(True))
print(test.splitlines(False))
‘‘‘
[‘adfg\n‘, ‘你好惊愕了\n‘, ‘SEERER‘]
[‘adfg‘, ‘你好惊愕了‘, ‘SEERER‘]
‘‘‘
test = "alex"
print(test.capitalize()) #首字母大写
‘‘‘Alex‘‘‘
test1 = "AAex"
print(test1.casefold()) #所有字母变小写,不经常用(可以对未知字符变小写)
print(test1.lower()) #所有字母变小写(只能针对26个字母)
‘‘‘aaex‘‘‘
test = "alex"
print(test.center(20,"*")) #设置宽度(width),内容居中,前面填充用“*”符
print(test.ljust(20,"*")) #设置宽度(width),内容居左,前面填充用“*”符
print(test.rjust(20,"*")) #设置宽度(width),内容居右,前面填充用“*”符
‘‘‘
********alex********
alex****************
****************alex
‘‘‘
test = "aLexalexraa"
print(test.count("ex")) #字符串在字符串中出现的次数
‘‘‘2 ‘‘‘
print(test.count("a",4,len(test))) #通过start、end设置字符串中查找的范围
‘‘‘3 ‘‘‘
test = "alex"
print(test.endswith("ex")) #判断字符串是不是以ex结尾
print(test.startswith("al")) #判断字符串是不是以al开头
‘‘‘True,True‘‘‘
test = "alexalex"
print(test.find("ex")) #从左到右查找,ex字符在test第一次找到的位置,如果找不到返回 -1
print(test.find("qq")) #找不到,返回值为 -1
‘‘‘2,-1‘‘‘
test = "i love {name},age {age}" #格式化,将一个字符串中的占位符替换为指定的值
print(test.format(name="潇潇",age=19))
print(test.format_map({"name": ‘潇潇‘, "age": 19}))
test = "i love {0},age {1}" #格式化,将一个字符串中的占位符替换为指定的值
print(test.format("潇潇",19))
‘‘‘i love 潇潇,age 19‘‘‘
print("12ad".isalnum()) #判断字符串是否只包含数字或字母
print("12ad##".isalnum())
‘‘‘True,False‘‘‘
test = "name\tage\temail\n高淇\t20\t123456@139.com\n潇潇\t3\txiaoxiao@qq.con\n"
print(test.expandtabs(20))
"""
name age email
高淇 20 123456@139.com
潇潇 3 xiaoxiao@qq.con
"""
print("你12sf".islower()) #判断字符串中的字母是否全为小写
‘‘‘True‘‘‘
m = str.maketrans("aeiou","12345") #先对两个字符串建立对应关系
print("afefcveinou".translate(m)) #通过建立的对应关系,将相应的字符进行替换
‘‘‘1f2fcv23n45‘‘‘