s.upper()
s.lower()
s.capitalize()
s.split(',')
s.strip('abc')
s.lstrip()
s.rstrip()
s.replace('old','new')
s.endswith('xxx.mp3')
s.startswith('186')
','.join('sdfsdfds')
s.isdigits()
s.isalnum()
s.zfill(5)
以上重要,要记住
s.find()
1、strip():用于删除字符串头部和尾部指定的字符,默认字符为所有空字符,包括空格、换行( )、制表符( )等。
strip() 方法语法:S.strip([chars])
chars -- 可选参数,要删除的指定字符,默认字符为所有空字符,包括空格、换行( )、制表符( )等
实例1:
>>> a = ' sdf '
>>> a.strip()
'sdf'
2、lstrip():截掉 string 左边的空格、换行符、制表符等
3、rstrip():截掉 string 右边边的空格、换行符、制表符等
实例2:
a = '.jpgskdjfsdklfjskdf.jpg'
a.rstrip('.jpg') #将字符串的头部和尾部的.jpg去掉
'skdjfsdklfjskdf'
4、upper():转换 string 中的小写字母为大写
5、lower():转换 string 中所有大写字符为小写.
6、capitalize():把字符串的第一个字符大写
7、count() :用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
语法:str.count(sub,start=0,end=len(string))
参数:
sub -- 搜索的子字符串
start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
8、replace() 方法:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法:str.replace(old,new[,max])
参数:
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
实例:
a = 'abcdabcad'
print(a.replace('a','上山打老虎',2))
输出:
上山打老虎bcd上山打老虎bcad #替换了两个地方,第三个地方没有替换
实例2:可以连续替换,如果没有要替换的内容,也不会报错。
1 name = p_word.replace('xianchang','xc').replace('wangluo','wl').replace('cengke','ck').replace('zhujiao','zj')
9、endswith() 判断以啥结尾的 返回值True False
10、startswith() 判断以什么开头
11、 split() :把字符串变成list,以某个字符串分隔,如果分隔符不存在,则变成list,不做分隔
语法:
str.split(str="", num=string.count(str))
参数:
str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
num -- 分割次数。
实例1:
names = '小红,小黑,小白,小绿'
print(names.split(','))
输出:
['小红,小黑,小白,小绿']
实例2:
names = '小红,小黑,小白,小绿'
print(names.split(',',1)) #分隔一次
输出:
['小红', '小黑,小白,小绿'] #
12、 join() :用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:str.join(sequence)
参数:sequence -- 要连接的元素序列。
返回值:返回通过指定字符连接序列中元素后生成的新字符串
str.join(元组、列表、字典、字符串) 之后生成的只能是字符串。
1 users = ['abc','dsf','RRRR'] 2 res = ','.join(users) #1、把list变成字符串 2、把list里面的每一个元素用逗号连接起来 3 print(res) 4 print('-----'.join(users)) #用'-----'符号链接,生成一个新的字符串。
1 list1 = ['a','b','c'] #列表,join连接各元素 2 tupl1 = ('a''b','c') #元组,join连接各元素 3 dic1 = {'a':'123','b':'456'} #字典,join连接各key 4 str1 = 'sdfsadf' #字符串,join连接各字符 5 6 a = '-'.join(list1) #用指定字符连接,生成个新字符串 7 b = '-'.join(tupl1) 8 c = '-'.join(dic1) 9 d = '-'.join(str1) 10 print('连接列表:',type(a),a) #打印类型,以及新字符串 11 print('连接元组:',type(b),b) 12 print('连接字典:',type(c),c) 13 print('连接字符串:',type(d),d)
13、 isdigit()检测字符串是否只由数字组成。也可以说该方法可以判断是否是0或正整数
语法:str.isdigit()
参数:无
返回值:如果字符串只包含数字则返回 True 否则返回 False
1 a = '0' #isdigit()返回True 2 b = '1' #isdigit()返回True 3 c = '-1' #isdigit()返回False 4 d = 'a1' #isdigit()返回False 5 e = 's' #isdigit()返回False 6 f = '1.56' #isdigit()返回False 7 print(a.isdigit()) 8 print(b.isdigit()) 9 print(c.isdigit()) 10 print(d.isdigit()) 11 print(e.isdigit()) 12 print(f.isdigit())
14、find() 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
语法:str.find(str, beg=0, end=len(string))
参数:
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值:如果包含子字符串返回开始的索引值,否则返回-1。
1 s = 'abcd1b2a34_' 2 print(s.find('a')) #从下标0开始查到最后,查找在字符串第一个出现的子串返回结果:0 3 print(s.find('_')) #返回结果:10 4 print(s.find('a',1)) #从下标1开始查找,返回结果7 5 print(s.find('b',2,6)) #从下标2到下标6,不包括6,返回结果5 6 print(s.find('A')) #不存在,返回-1
15、index()方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
语法:str.index(str, beg=0, end=len(string))
参数:
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值;如果包含子字符串返回开始的索引值,否则抛出异常。
1 s = 'abcd1b2a34_' 2 print(s.index('a')) #返回结果:0 3 print(s.index('_')) #返回结果:10 4 print(s.index('a',1)) #从下标1开始查找,返回结果7 5 print(s.index('b',2,6)) #从下标2到下标6,不包括6,返回结果5 6 print(s.index('A')) #不存在,抛出异常
16、count()用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
语法:str.count(sub, start= 0,end=len(string))
参数:
- sub -- 搜索的子字符串
- start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
- end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
返回值:该方法返回子字符串在字符串中出现的次数。
1 s = 'abcd1b2a34_' 2 print(s.count('a')) #返回结果2 3 print(s.count('34')) #返回结果1 4 print(s.count('A'))#返回结果0
17、islower检测字符串是否由小写字母组成。
语法:str.islower()
参数:无
返回值:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
1 s = 'abcd1b2a34..............!!!!!' #返回True 2 s1 = 'Asdf' #返回False 3 print(s.islower()) 4 print(s1.islower())
18、isupper检测字符串中所有的字母是否都为大写。
语法:str.isupper()
参数:无
返回值:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
s = 'ABC_ 123.....??' #返回True s1 = 'ABCDFDF a' #返回False print(s.isupper()) print(s1.isupper())
19、isalnum检测字符串是否由字母和数字组成。
语法:str.isalnum()
参数:无
返回值:如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
a = 'aaaAfd' #字符串都是字母,返回True b = '23445' #字符串都是数字,返回True c = '234dsfsDG' #字符串都是字母和数字,返回True d = '12abc_' #字符串里有非字母数字,返回False e = '$%234ds' #字符串里有特殊字符,返回False f = '123 dkdja'#字符串里有空格,返回False g = '1.235' #小数判断不出来,有. 那么返回False print(a.isalnum()) print(b.isalnum()) print(c.isalnum()) print(d.isalnum()) print(e.isalnum()) print(f.isalnum()) print(g.isalnum())
20、isalpha检测字符串是否只由字母组成。
语法:str.isalpha()
参数:无
返回值:如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
检测字符串是否只由字母组成。
a = 'aaaAfd' #字符串都是字母,返回True b = '23445' #字符串都是数字,返回False c = '234dsfsDG' #字符串都是字母和数字,返回False d = '12abc_' #字符串里有非字母数字,返回False e = '$%234ds' #字符串里有特殊字符,返回False f = '123 dkdja'#字符串里有空格,返回False print(a.isalpha()) print(b.isalpha()) print(c.isalpha()) print(d.isalpha()) print(e.isalpha()) print(f.isalpha())
21、isidentifier() 判断是不是合法的变量名
合法返回True 不合法返回False
a = 'test' #变量名合法,返回True b = 'a_' #变量名合法,返回True c = '$%' #变量名不合法,返回False d = '12' #变量名不合法,返回False print(a.isidentifier()) print(b.isidentifier()) print(c.isidentifier()) print(d.isidentifier())
21、isspace()检测字符串是否只由空白字符(空格)组成。
语法str.isspace()
参数:无
返回值:如果字符串中只包含空格,则返回 True,否则返回 False.
a = ' ' #只有空格返回True b = 'ajsdf dfdf' #有其他字符返回False print(a.isspace()) print(b.isspace())
22、splitlines()按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
语法:str.splitlines([keepends])
参数:keepends -- 在输出结果里是否去掉换行符(' ', ' ', '),默认为 False,不包含换行符,如果为 True,则保留换行符。
返回值;返回一个包含各行作为元素的列表。
a = 'a sdf bb ' print(a.splitlines()) print(a.splitlines(True)) #保留换行符
输出结果:
['a ', ' sdf', ' bb'] ['a ', ' sdf ', ' bb ']
23、zfill()返回指定长度的字符串,原字符串右对齐,前面填充0。
语法:str.zfill(width)
参数:width -- 指定字符串的长度。原字符串右对齐,前面填充0。
返回值:返回指定长度的字符串。
a = 'abc' print(a.zfill(8)) #返回结果为00000abc 前面加个五个0
写个小练习:如果有1-119整数,一位数前面补两个0,两位数前面补一个0
#1-119的整数,写成模式001 010,以下是原始思路,现实不会这么写 l = list(range(1,110)) new_l = [] for i in l: si = str(i) if len(si) == 1: new_i = '00'+str(i) elif len(si) ==2: new_i = '0' + str(i) else: new_i = i new_l.append(new_i) print(new_l)
zfill()方法
l = list(range(1,120)) new_l = [] for i in l: si = str(i) new_l.append(si.zfill(3)) #3位补0 print(new_l)
24、import string
import string #直接定义变量 print(string.ascii_lowercase) #所有的小写字母 print(string.ascii_uppercase) #所有的大写字母 print(string.digits) #0-9数字 print(string.punctuation) #所有的特殊字符 print(string.ascii_letters) #所有的小写大写字母
结果:
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 !"#$%&'()*+,-./:;<=>?@[]^_`{|}~ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
25、Python find()方法
Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
语法
find()方法语法:
str.find(str, beg=0, end=len(string))
参数
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则返回-1。
实例
以下实例展示了find()方法的实例:
实例(Python 2.0+)
以上实例输出结果如下:
15
15
-1