python-数据类型-字符串

>字符串

>>定义

​ 字符串是若干个字符组成的数据结构我们,可以使用引号( '" )来创建字符串。

str1 = 'Hello suppor boss'
str2 = "suppor boss"

>>字符串索引

1.索引值从左到右-->从0开始,

索引值从右到左-->从-1开始

  • 取值格式var[index]
>>> name = "xinfangshuo"
>>>
>>> name[0]
'x'
>>> name[5]
'n'
>>> name[-1]
'o'
>>> name[-2]
'u'

>>字符串数据切片

>>>正切

>>> name = "xinfangshuo"
>>>
>>> name[3:6]
'fan'
>>> name[3:7]
'fang'
>>> name[0:11]
'xinfangshuo'
>>> name[0:]
'xinfangshuo'
>>> name[:]
'xinfangshuo'

>>>反切

>>> name = "xinfangshuo"
>>> 
>>> name[:-1]
'xinfangshu'
>>> name[:-2]
'xinfangsh'
>>> name[3:-4]
'fang'

>>>.跳级切

>>> name = "xinfangshuo"
>>>
>>> name[3:7]
'fang'
>>> name[3:7:]
'fang'
>>> name[3:7:1]
'fang'
>>> name[3:7:2]
'fn'
>>> name[7:3:2]
''
>>> name[::3]
'xfgu'

>>>反跳级切

  • 从右往左切

  • start_index位置要在end_index位置的右边

  • >>> name = "xinfangshuo"
    >>>
    >>> name[-1:-8:-2]
    'ohga'
    >>> name[-1:8:-2]
    'o'
    >>>
    >>> name[1:10:-2]
    ''
    >>> name[10:1:2]
    ''
    >>> name[10:1:-2]
    'ohgan
    

>>字符串操作函数

>>>capitalize(),title()

首字母大小写

a='happy every day'
print(a.capitalize()) #字符串首个单词字母大写 
>>> Happy every day
print(a.title()) #字符串每个单词首位都大写 
>>> Happy Every Day

>>>upper()

将字符串中的小写字母转换为大写

a='happy every day'
print(a.upper()) 
>>> HAPPY EVERY DAY

>>>count()

统计字符串字符出现的次数

a='happy every day'
print(a.count('a')) 
>>> 2

>>>join()

把集合的字符按自定义的分隔符连接在一起

first_name = 'zhang'
second_name = 'san'
b = ' '.join([first_name, second_name])
print(b) 
>>> zhang san
c='*'.join([first_name,second_name])
print(c) 
>>> zhang*san

>>>split()

把字符串通过指定标识符分割为序列 格式:split(sep, num)

# sep为分隔符,不写sep时,默认表示用 空格,\n,\t 分隔字符串:num为分隔次数,有sep时按sep的值分隔:
name='z-h-a-n-g-s-a-n'
#去除‘—’
name1=name.split('-')
print(name1)
#['z', 'h', 'a', 'n', 'g', 's', 'a', 'n'] 注意返还的是一个字符串列表,
# 如果需要打印出zhangsan需用join函数进行拼接
print(''.join(name1)) #zhangsan
#num为分隔次数,有sep时按sep的值分隔:
name2='zhangsan' #按照字符a进行切割
name3=name2.split('a',1)
print(name3) #['zh', 'ngsan'] 注意此时第一个a已被移除,第二个字符a未切割

>>>splitlines()

# 返回一个包含各行作为元素的列表,如果参数keeppends为False,不包含换行符,如果为True,则保留换行符
name='dalse\radio\nasddsdads\r\nadmin'
name1=name.splitlines(keepends=True)
name2=name.splitlines(keepends=False)
print(name1) #['dalse\r', 'adio\n', 'asddsdads\r\n', 'admin']
print(name2) #['dalse', 'adio', 'asddsdads', 'admin']
print(''.join(name2)) #拼接起来 dalseadioasddsdadsadmin

>>>strip()

用于移除字符串头尾指定的字符(默认为空格)或字符序列 ,例如\n ,\t \r,''.注意:只用于删除开头或结尾的字符,不能删除中间的字符

# lstrip() 用于移除左边的字符
# rstrip()用于移除右边的字符
a=' chaoming '
b=' chaoming'
c='chaoming '
d='\n\tchaoming'
print(a.strip()) #chaoming
print(b.lstrip()) #chaoming
print(c.rstrip()) #chaoming
print(d.strip()) #chaoming
f='Abcdefrggg'
print(f.strip('A')) #bcdefrggg

>>>startswith(字符, 开始索引, 结束索引)

# 函数判断文本是否以某个字符开始,注意结束索引不包含相对应索引字符
name = input('请输入你的姓名')
phone=input('请输入手机号')
AuthCode=input('请输入验证码')
if name.startswith('chen',0,4) and name.startswith('xian',4 ,8) and name.endswith('qi',8,10):
    if len(phone)==11 and phone.startswith('11233344411',0,11):
        if AuthCode.startswith('123456',0,6):
            print('登陆成功')
else:
        print('登陆失败')
请输入你的姓名chenxianqi
请输入手机号11233344411
请输入验证码123456
登陆成功

>>>index()

检测字符串中是否包含子字符串str(返回的是该字符串的索引值)

strs='aochaoming'
a=strs.index('ming')
print(a) #6 返回字符串第一个字符的索引值
print(strs.index(gg)) # name 'gg' is not defined 无相关的字符串直接报错

>>>replace()

字符串替换

#replace(old str,new str)
a='aochaomingqqq'
b=a.replace('qqq','niubi')
print(b)

>>>find()

从左边开始查询字符串
#rfind()从右边开始查询字符串 格式 find/rfind(字符,开始索引,结束索引) ,但查不到时返回的是-1
str='aochaomingjunibi'
a=str.find('b',0)
print(a) #14
b=str.rfind('m',-14)
print(b) #6

>>>center(width,fillchar)

#返回一个原子符剧中,并使用空格填充至长度width1的新字符串
#fillchar默认值为空格,也可以自定义字符串
strs='aochaoming'
a=strs.center(100)
b=strs.center(100,'-')
print(a) # aochaoming
print(b) #---------------------------------------------aochaoming---------------------------------------------

>>>ljust,rjust

#ljust(width,fillchar) 返回一个原字符串左对齐
#rjust(width,fillchar) 返回一个原子符右对齐
#fillchar默认为空格,也可以自定义字符
strs='aochaoming'
a=strs.ljust(50)
b=strs.ljust(50,'-')
print(a) #aochaoming
print(b) #aochaoming----------------------------------------
c=strs.rjust(50)
d=strs.rjust(50,'-')
print(c) # aochaoming
print(d) #----------------------------------------aochaoming

>>>zfill()

#zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充o
strs='python'
a=strs.zfill(50)
print(a) #00000000000000000000000000000000000000000000python

>>>isalnum()

#isalnum()检测字符串是否由字母/数字组成且不能为空(返回的是True,False)
phone=input('输入手机号码:')
if phone.isalnum():
    print('手机号输入正确')
else:
    print('手机号输入错误')

>>>isalpha()

#isalpha()检测字符串是否只由字母组成
phone=input('输入手机号码:')
if phone.isalpha():
    print('手机号输入正确')
else:
    print('手机号输入错误')

>>>isdigit()

# 检测字符串是否只有数字组成
phone=input('输入手机号码:')
if phone.isdigit():
    print('手机号输入正确')
else:
    print('手机号输入错误')

>>>isalpha()

# isalpha()检测字符串是否只由字母组成
phone=input('输入手机号码:')
if phone.isalpha():
    print('手机号输入正确')
else:
    print('手机号输入错误')

>>>supper()

#isupper()检测字符串是否所有字母是否为大写
name=input('请输入姓名')
if name.isupper():
	print('登录成功')
else:
	print('请输入正确的姓名')

>>>islower()

# islower()检测字母是否为小写组成
name=input('请输入姓名')
if name.islower():
	print('登录成功')
else:
	print('请输入正确的姓名')

>>>istitle()

# istitle()检测字符串中所有的单词拼写首字母是否为大写
name=input('请输入姓名')
if name.istitle():
	print('登录成功')
else:
	print('请输入正确的姓名')

>>>isspace()

# isspace()检测字符串是否只由空格组成
name=input('请输入姓名')
if name.isspace():
	print('登录成功')
else:
	print('请输入正确的姓名')
posted @ 2022-03-15 01:30  饭兜  阅读(63)  评论(0编辑  收藏  举报