字符串数据类型
定义字符串,三种方式
双引号包裹
单引号包裹
三引号包裹
字符串是有序的字符容器
a = '''abcd'''
print(a, type(a))
# 获取某一个字符的值
# 字符串[索引值]
x = a[3]
print(x)
print(a[2])
字符串方法的使用格式
字符串.方法名称()
方法名称的意义
一般情况下,如果遇到了某个方法,以is开头
代表,是不是
1 判断验证方法isspace
用于验证字符串是否是一个看不见的元素
已知的看不见的元素有
空格
换行符
制表符
回车符
s = "\r"
print(s)
res = s.isspace()
print(res)
》验证用户是否输入不可见内容
name = input('请输入用户名:')
if name.isspace():
print('非法输入,请输入非空的内容')
else:
print('正在注册用户', name)
isalpha
验证字符串是否由纯英文字母组成的
如果字符串由纯英文字母组成,大小写都可
那么结果为True
否则为False
s = "abBc"
r = s.isalpha()
print(r)
》医院录入新生儿名字验证
name = input("给孩子起个名字吧:")
if name.isalpha():
print('名字OK,可以登记')
else:
print('名字有问题,请给孩子起一个纯字母组成的名字')
isnumeric
验证是否是半角数字,全角数字,中文数字
s = "一"
res = s.isnumeric()
print('res is ' , res)
isdigit
验证数字
s = '\xb2'
res_isdigit = s.isdigit()
res_isnumeric = s.isnumeric()
print('res_isdigit', res_isdigit)
print('res_isnumeric', res_isnumeric)
isdecimal
纯阿拉伯数字字符串的验证,不验证乱七八造的
三种数字验证的比较
s = '46'
res_isdecimal = s.isdecimal()
res_isdigit = s.isdigit()
res_isnumeric = s.isnumeric()
print('res_isdecimal', res_isdecimal)
print('res_isdigit', res_isdigit)
print('res_isnumeric', res_isnumeric)
应用例子
age = input('请输入年龄:')
print(age.isdecimal())
if age.isdecimal():
print('正确的年龄,保存中')
else:
print('输入有误,再见')
islower
isalnum
验证字符串是否只由 字母数字组成
如果是,返回True,否则返回False
islower 与 lower方法
看到验证码 一般由大小写数字和英文组成的
# s = "ABC"
# res = s.lower()
# print(res)
isupper与upper方法
s = "sad"
res = s.isupper()
print(res)
r = s.upper()
print(r, type(r))
o = r.isupper()
print('o', o)
2 查找与替换方法
startswith 与 endswith
字符串.startswith(词)
字符串.endswith(词)
验证是否以某某开头,是否以某某结尾
s = "china-hero"
res = s.startswith('china')
print(res)
e = "one.ppt"
res = e.endswith('.txt')
print(res)
find
字符串.find(查询的字符,起始索引包含,终止索引不包含)
查询某个子字符串所在的位置
查询成功,返回所在的索引位置
如果查询不成功,返回值为 -1
参数二,参数三,代表了查询的起始位置与终止位置
rfind
从右边开始查
从右边开始查
找到了,返回索引,找不到,返回-1
index
字符串.index('搜索的词')
返回结果为查询到的索引值
如果查询不到,会报错
ValueError,子字符串,没有找到
rindex查找
小结四个查找
下面的方法, 查到了就返回对应的索引值
find(),从左往右查,查不到,返回-1
rfind(),从右往左查,查不到,返回-1
index(),从左往右查,查不到报错
rindex(),从右向左查,查不到报错
replace方法
s = '你好,小明同学'
res = s.replace('你好','早上好')
print(res)
3 大小写转换
capitalize()
title()
lower()
upper()
swapcase()
4 文本对齐# s = '*'
#
# res = s.ljust(30)
# print(res,end='!')
# print()
# res2 = s.rjust(30,'$')
# print(res2, len(res2))
# res3 = s.center(30,'#')
# print(res3)
n = 1
while n<9:
s = '*'*(n*2-1)
res = s.center(40) # ***
print(res, end='')
print()
n += 1
5 去除边界
》strip方法可以去掉空字符串
例子:
s = " abc "
print('原始的字符串')
print(s)
print('......')
print('lstrip')
print(s.lstrip())
print('......')
print('rstrip')
print(s.rstrip())
print('......')
print('strip')
print(s.strip())
》strip方法可以去掉换行符 \n
》可去table符号 \t
例子:
s = ' abc \t \n \r '
res = s.strip()
print(1111)
print(res)
print(2222)
》自定义边界要清除的内容
# s = ' a !!!!ppppp!!!!!!!'
s = 'ppppp'
# res = s.strip("! a") # strip传参数,就会左右两边扒掉这个参数
# res = s.strip() # strip不传参数,默认清除左右两边的空白符号
# print(res)
p = "abc 哈哈 mpq"
res = p.lstrip("abc ")
print(res)
m = res.rstrip(' mpq')
print(m)
拆分与连接
》partitions相关的例子
例子:
s = "aaa bbb ccc bbb ddd"
res = s.rpartition('bbb')
print(res)
》split的例子
split自定义分割 字符
》join 连接