以下是python常用字符串函数,五个“*”是经常要用的,需要我们掌握。先做总结,之后代码验证。
upper():将字符串字母全部转换为大写字母 应用:可以用做验证码验证 *****
lower():将字符串字母全部转换为小写字母 应用:可以用做验证码验证 *****
find():通过元素找索引,找到第一个就返回;没有找到返回-1. *****
index():通过元素找索引,找到第一个就返回;没有找到就报错. *****
strip():默认去除字符串前后(中间的不会)的空格,换行符,制表符,也能去除指定的符号。*****
lstrip():只去除前面的,用法和strip()一样。*****
rstrip():只去除后面的,用法和strip()一样。*****
split():将字符串分隔成列表str-->list) 默认按照空格分隔 *****
join():自定制连接符,将可迭代对象中的元素连接起来 *****
replace():字符串替换,能够设置替换次数。*****
startswith():判断字符串以xx开头,也能判断字符串某部分以xx开头;结果返回True,False ****
endswith():判断字符串以xx结尾,也能判断字符串某部分以xx结尾;结果返回True,False ****
capitalize():首字母大写,其余变成小写 ***
center():字符串居中前后填充自定义的字符,有参数。**
swapcase():字符串字母大小写转换。 **
title():非字母隔开的每个部分的首字母大写 **
接下来就是贴上代码,后面注释是运行结果。
- upper():将字符串字母全部转换为大写字母
str = 'hello-Python'
print(str.upper()) #HELLO-PYTHON
- lower():将字符串字母全部转换为小写字母
str = 'hello-Python'
print(str.lower()) #hello-python
- find():通过元素找索引,找到第一个就返回,没有找就返回-1
str = 'hello6world$python'
print(str.find('l'),str.find('o',5,-1))# 2,7 (虽然切片-1是表示从最后一个开始,但是不包含最后一个。)
- index():与find()类似,只不过没有找到就报错
str = 'hello6world$python'
print(str.index('z')) #报错,没有找到 ValueError: substring not found
- strip():默认去掉前后的空格、制表符、换行符;也能去掉指定符号
str = '\t hello python\n '
print(str.strip()) #hello python 去除了前面的制表符、空格以及后面的换行
str2 = 'zhepython hello worldze'
print(str2.strip('hez') ) # python hello world 把前后有hez的字符全部去掉了
'''举例,用户登录输入的时候,如果用户输入密码时,不小心按了一个空格,然后再输入密码
最后导致登录时密码错误。那么这个时候可以用strip()方法去掉前后空格,
就不需要让用户重新输入了,提高用户体验。
lstrip():只去除前面的,用法和strip()一样。可以自己试试
rstrip():只去除后面的,用法和strip()一样。可以自己试试
'''
password = input("请输入密码:").strip()
- split():将字符串分隔成列表,默认按空格分隔,可指定分隔符
str = '张三 李四 王五 赵六'
print(str.split()) # ['张三', '李四', '王五', '赵六']
str2 = 'This#is#python'
print(str2.split("#"))#['This', 'is', 'python']
另外,split()有一个bug,假如字符串s=" zh us en",首个字符是空格,如果用默认的split()分隔,只分隔三个元素,如果按照空格分隔,最后会有四个元素;但是我们都知道,split()默认按照空格分隔。
str3 = ' zh us en' #字符前面有一个空格
print(str3.split()) # ['zh', 'us', 'en'] 默认分隔(默认是以空格分隔的) 3个元素
print(str3.split(" ")) # ['', 'zh', 'us', 'en'] 以空格进行分隔 4个元素
#限制分隔次数,次数+1 = 元素个数
print(str3.rsplit(' ',2)) #[' zh', 'us', 'en'] 从右到左分隔
print(str3.split(' ',2)) #['', 'zh', 'us en'] 从左到右分隔
- join():自定制连接符
str = 'python'
print('-'.join(str)) #p-y-t-h-o-n
- replace():字符串替换,可设置替换次数
str = '我现在在学Python,我昨天才开始学,我...'
print(str.replace('我','你')) #把“我”替换为“你”,全部替换
print(str.replace('我','你',2)) #把“我”替换为“你”,替换两次。
- startswith():判断字符串以xx开头,或者是字符串某段以xx开头;结果返回True或者False
- endsith():判断字符串以xx结尾,或者是字符串某段以xx结尾;结果返回True或者False
str = 'hello-Python'
print(str.startswith('hell'),str.startswith('ll',2,5)) #True True
print(str.endswith('n'),str.endswith('th',7,10)) #True True
- capitalize():首字母大写,其余字母小写
- center():字符串居中后,前后填充自定义字符
str = 'hello-Python'
print(str.capitalize()) #Hello-python
print(str.center(25,'*'))# *******hello-Python****** 把整个字符串长度变成25,其它地方用自定义“*”填充
- title():非字母隔开的每个首字母大写,空格,数字,特殊符号后面的一个字母大写
str = 'hello6world$python'
print(str.title()) #Hello6World$Python
- swapcase():将字符串里面的字母大写转换为小写,小写转换为大写
str = 'hello-Python'
print(str.swapcase()) #HELLO-pYTHON
上面就是Python常用字符串函数,如果还想学习其它的字符串函数,我们可以去官网查看Python的文档。
-----------------------------------------------------------------------------------------------------------------------------------------
20191220增加
is系列
- isalnum():判断字符串是否有数字或者字母组成 True/False
- isdigit():判断字符串是否全部由数字组成 True/False
- isalpha():判断字符串是否全部由字母组成 True/False
name = 'taobao'
num = '12325'
print(name.isalnum()) #数字或字母组成 True
print(num.isdigit()) #判断全部是由整数组成 True
print(name.isalpha()) #判断字符串全部由字母组成 True
- len():统计字符串中字符个数,包括空格。
- count():统计字符串中字符出现的个数,有切片。
name = 'python hello'
print(name.count('o')) # 2 有切片,可以指定字符个数
print(name.count('o',0,-2)) #1
print(len(name)) #字符串字符的个数 12 包括空格
最后来一段字符串循环输出
- while循环输出字符串
count = 0
s1 = 'abcdefg'
while count < len(s1):
print(s1[count])
count += 1
运行结果:
- for循环输出字符串
str = 'abcdefg'
for i in str:
print(i)
运行结果: