字符串方法练习

定位字符串方法,在pyCharm中输入str,鼠标移动到str上,按ctrl呈现小手状态,点击齿轮,然后选择显示成员,之后点击定位,就可以查到了

 
#返回一个将字符串首字母大写、字符串中的其它字母变为小写的字符串
name = "wcj"
result = name.capitalize()
print(result)
#字符串相加,同add
r = name.__add__("s")
print(r)
#字符串是否包含传入的字符
s = name.__contains__("c")
print(s)
#将大写字母转换成小写
w = "WCj"
rr = w.casefold()
print(rr)
#返回一个居中对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。
name = "wcj"
result = name.center(10,"@")
print(result)
#统计指定的str在字符串中出现的次数并返回这个数若没找到返回:0,可以指定范围:开始位置和结束位置进行统计
name = "wcjcccccc"
result = name.count("c",0,4)
r = name.encode()
print(result,r)
#判断字符串是否是以指定字符串结尾并返回布尔值,并可以指定范围。
name = "wcjcccccc"
result = name.endswith("j",1,3)
r = name.expandtabs()
print(result,r)
#查找并返回指定str的索引位置,如果没找到则会抛异常(查找的顺序是从左至右)可以指定范围:开始位置和结束位置进行查找。
name = "wcjsdfsfsf"
result = name.index("d",3,8)
print(result)
#查找并返回指定str的索引位置,如果没找到则返回:-1(查找的顺序是从左至右)可以指定范围:开始位置和结束位置进行查找
name = "wcj is good"
result = name.find("o",0,18)
print(result)
#统计指定的str在字符串中出现的次数并返回这个数若没找到返回:0,可以指定范围:开始位置和结束位置进行统计
name = "wcj is good lucky"
result = name.count("x",0,20)
print(result)
#移除字符串左右两侧指定的字符,并返回移除指定字符串后的字符串,括号内不指定字符串默认移除空格。
name = "%%%wcj is good lucky&&**%%*%%%"
result = name.strip("%")
r = name.lstrip("%")
s = name.rsplit("*%")
print(result)
通过指定分隔符按从左到右的顺序对字符串进行切片,并以一个列表的形式返回。括号内不指定字符串表示默认以空格为分隔符。可以指定分隔符的个数
name = "wcj jis good lucky"
result = name.split()
r = name.split('j')
s = name.split('j',1)
print(result,r,s)
#括号中不加参数默认为False,此时分隔符默认指定为“\n” 、“\n\r” 、“\r”对字符串进行分隔,以一个列表的形式返回;当括号中参数改为True时仍然会以“\n” 、“\n\r” 、“\r”进行分隔,但是在生成的元素中会保留分隔符。并以一个列表的形式返回。
name = "wcj \njis\n good\r\n lucky\n"
result = name.splitlines()
r = name.splitlines(True)
print(result,r)
#将指定的字符串替换成新的字符串,并返回替换后的字符串。可以指定替换的次数,若不指定次数则默认替换全部。
name = "wcj jis good lucky!!"
result = name.replace("jis","is")
r = name.replace("!","$",2)
s = name.replace('x','wcj')
print(result,'\n',r,'\n',s)

#定义:将序列中的元素以指定的字符拼接生成一个新的字符串,并返回这个字符串
n = '&'
name = ("wcj","chp","wyc")
#result = name.split()
result = n.join(name)
print(result)

format:字符串格式化。有三种方法:1、按默认从左到右的默认顺序传值,2、按指定位置传值,3、按设置参数传值,返回格式化后的字符串
格式1:“字符串-{}-字符串-{}”.format(“内容1”,“内容2”)
   # 输出的结果为:字符串-内容1-字符串-内容2
   # 格式化后的内容分别按从左到右的默认顺序分别对应到字符串中每个大括号里
格式2:“字符串-{2}-字符串-{1}”.format(“内容1”,“内容2”)
   # 输出的结果为:字符串-内容2-字符串-内容1
   # 格式化后的内容分别按指定位置传值到字符串中对应的大括号里
格式3:“字符串-{变量名1}-字符串-{变量名2}”.format(变量名1 = “内容 ”,变量名2 = “内容2”)
   # 输出的结果为:字符串-内容1-字符串-内容12
  # 格式化后的内容分别按指定位置传值到字符串中对应的大括号里

s = "I am dark {},I'm {} years old!"
s1 = "I am dark {1},I'm {0} years old!"
s2 = "I am dark {name},I'm {age} years old!"
result = s.format("dknight","18") #这是其中一种方法
r = s1.format("18","dknight1")
rr = s2.format(name="dknight2",age="19")
print(result,"\n",r,"\n",rr)

#字符串格式化,与format不同的是括号中的mapping是一个字典对象,返回格式化后的字符串。
dic = {"name":"wcj","age":"19"}
s = "I am {name},I'm {age} years old!"
result = s.format_map(dic)
print(result)

#以指定的编码格式对字符串进行编码,并返回编码后的二进制
s = "努力学习"
result = s.encode('utf-8')
print(result)# 得到以"utf-8"编码后的二进制数
r = result.decode('utf-8')
print(r)# 用decode解码,以什么编码就要以什么解码,否则乱码)

#判断字符串是否是以指定字符串开头并返回布尔值,并可以指定范围。
name = "wcj is good lucky"
result = name.startswith("i")
r = name.startswith("i",4)
s = name.startswith("hhhh")
print(result,'\n',r,'\n',s)

#判断字符串是否是以指定字符串结尾并返回布尔值,并可以指定范围。
rr = name.endswith("lucky")#判断字符串是否以指定字符串结尾
rrr = name.endswith("y")#判断字符串是否以指定字符串开头
print(rr,rrr)

#将字符串中的小写字母转换成大写字母,并返回转换成大写字母后的字符
name = "wcj is good lucky"
result = name.upper()
print(result)
#将字符串中的大写字母转换成小写字母,并返回转换成小写字母后的字符串。
n = "Wcj is Good Lucky"
result1 = n.lower()
print(result1)

#将字符串中的所有单词的首字母的替换成大写字母,并返回转换后的字符串
name = "wcj is good lucky"
result = name.title()
print(result)

#将字符串的大小写字母进行转换,并返回转换后的字符串
name = "Wcj is Good lucky"
result = name.swapcase()
print(result)
#ljust()返回一个左对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。
#rjust()返回一个右对齐的字符串,并使用指定长度的填充符号,不指定填充符号默认使用空格作为填充符号。若指定的填充符号的长度小于字符串本身的长度,填充符号则不会显示。

#按从左到右的顺序,对字符串进行分割,返回一个包含3个元素的元组,这个元组中这3个元素分别为:指定分割符,以及以这个分隔符为中心的左右两侧的字符串。
s = "good dlucky"
result = s.partition('d')
r = s.partition('x')
print(result,'\n',r)

ss = s.rpartition("d")
rr = s.rpartition('x')
print(ss,rr)

#不是重点
s1 = 'abcde' # 原字符串中要替换的字符
num = '12345' # 相应的映射字符的字符串。
s2 = "aaxxbbxxccxxddxxee" # 原字符串
form = s2.maketrans(s1, num) # 创建映射表,让s1字符串中的字母分别对应num中的字母并指向s2字符串。
print(form)
print(s2.translate(form)) # 使用上面映射表进行翻译,并把并把deletechars中有的字符删掉。

#按指定长度在字符串的左侧填充"0"补齐,并返回这个补齐“0”后的字符串
s = 'wcj'
result = s.zfill(20)
r = s.zfill(2)
print(result,r)

#expandtabs() 方法把字符串中的“\t”转为空格,并返回替换空格后的字符串。(\t默认的空格数是 8)。
s = 'hello\tworld'
result = s.expandtabs().split()
print(result)

#判断字符串是否只由数字组成,并返回一个布尔值
s = 'wcj9999'
r = '777777'
print(s.isdigit())
print(r.isdigit())

#判断字符串是否只由字母组成,并返回一个布尔值
s = 'wcj'
r = 'sfs333'
print(s.isalpha())
print(r.isalpha())

s = 'wcj88'
r = 'sfddd@'
print(s.isalnum())
print(r.isalnum())

#判断字符串中所有的字母是否为大写。并返回一个布尔值
s = 'WCj88'
r = 'SKFJSKF@'
print(s.isupper())
print(r.isupper())

#判断字符串中所有的字母是否为小写。并返回一个布尔值
s = 'wcj88'
r = 'ffsSKffff@'
print(s.islower())
print(r.islower())

#判断字符串是否只由空白字符组成,并返回一个布尔值
s = 'wcj 88'
r = ' '
print(s.isspace())
print(r.isspace())
'''
#判断字符串中所有的单词的首字母是否为大写且其他字母为小写。并返回一个布尔值。
s = 'Wcj w88'
r = 'Good Lucky'
print(s.istitle())
print(r.istitle())

#判断字符串是否只包含十进制字符。这种方法只存在于unicode对象。并返回一个布尔值。(注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可)
s = '88885555'
r = 'Good Lucky'
print(s.isdecimal())
print(r.isdecimal())
#判断字符串是否只由数字组成。只针对unicode对象。并返回一个布尔值
s = '88885555'
r = 'Good Lucky555'
print(s.isnumeric())
print(r.isnumeric())
#判断字符串中的所有字符都是否为可打印的(或字符串为空)的则返回True,否则返回False
#格式:“字符串”.isprintable(),s = '\t\n'返回False,汉字也是False

#定义:判断是否是合法标识符,实际上是判断变量名是否合法,并返回一个布尔值
#格式:“字符串”.isidentifier(),s = '\t\n'返回False,'空 '也是False

猜你喜欢

转载自www.cnblogs.com/jkl1221/p/10647589.html