python基础知识-字符串

引号区别

字符串可以用单引号,双引号,三引号括起来,一般情况没有任何区别

a='111'
b="111"
c='''111'''
print(a)
print(b)
print(c)

如果字符串中有引号,可以使用引号的嵌套或者使用转义字符

# 引号嵌套
string="i'm good boy"
print(string)
string='this is "word"'
print(string)

# 转义字符
string='i\'m good boy'
print(string)

三引号可以对应换行字符,单引号与双引号不行

a='ab' \
  'cd'
b='''ab
cd'''
print(a)
print(b)

# 运行结果:
# abcd
# ab
# cd

切片

基本格式:
序列[start:end;step]
start:计数从start开始,默认为0,可以为负
end:计数以end结束,但不包括end,默认为末尾,可以为负
step:步长(变动幅度),默认为1,可以为负数

a='abcdefghijklmn'
print(a[::])
print(a[1:7:2])
print(a[-1:-4:-1])
print(a[-1:-4:1]) #取不到数据
print(a[::-1]) # 倒叙输出

# 输出结果
# abcdefghijklmn
# bdf
# nml
#
# nmlkjihgfedcba

start与end正负必须一致,end-start>0,步长必须为正,反之步长为负

常用操作方法

查找

find

基本用法:字符串序列.find(需要查找子串,开始位置下标,结束位置下标)
开始和结束位置下标可以省略,表示在整个字符串序列中查找,存在返回下标,不在返回-1

word='abcdefghijklmnopq'
print(word.find('bcd'))
print(word.find('bcd',4))
print(word.find('bcd',1,4))
# print(word.find('bcd',,4)) 不能这样
# 运行结果:
# 1
# -1
# 1

rfind表示从右开始查找

index

与find几乎一样,但区别为:若需要查找子串存在返回下标,不存在则会报错,有rindex

count

语法格式同find,返回查找到的子串个数,不存在则返回0

word='abcdefghbcdlmnopq'
print(word.count('bcd'))
print(word.count('bcd',10,15))
# 运行结果:
# 2
# 0

修改

replace

基本用法:字符串序列.replace(旧子串,新子串,替换次数)
替换次数可以不写,默认全部替换

word='abcdssddasabcdsadasdsadabcsadabc'
word_new=word.replace('abc','') # 把abc替换成空格
print(word)
print(word_new)

word_new=word.replace('abc','',1)
print(word_new)
# 运行结果:
# abcdssddasabcdsadasdsadabcsadabc
# dssddasdsadasdsadsad
# dssddasabcdsadasdsadabcsadabc

返回修改后的字符串,不会修改愿有字符串,字符串是不可变数据类型

split

作用:进行分割,返回一个列表,丢失分割符变为空
基本用法:字符串序列.split(分割字符,分割字符出现次数)

# 特例:分割符出现在首尾,则会出现空串
word='abcdssddasabcdsadasdsadabcsadabc'
word_new=word.split('abc')
print(word_new)
print(word)
#输出结果:
# ['', 'dssddas', 'dsadasdsad', 'sad', '']
# abcdssddasabcdsadasdsadabcsadabc

# 特例:分割符连续出现,也会出现空串
word='saddasdascccxvcv'
word_new=word.split('das')
print(word_new)
# 输出结果:
# ['sad', '', 'cccxvcv']

# 常例:
word='dadsahjksdsdhjkdssdds'
word_new=word.split('jk')
print(word_new)
word_new=word.split('jk',1)
print(word_new)
# 运行结果:
# ['dadsah', 'sdsdh', 'dssdds']
# ['dadsah', 'sdsdhjkdssdds']

最后list元素为num+1

join

作用:split方法的逆方法,将列表(或元组)中多个字符串采用固定的分隔符连接在一起
基本用法:字符或子串.join(要合并的列表或元组)

list=['adss','asddsa','dsasadasd']
str='-'
new_str=str.join(list)
print(new_str)

# 运行结果:
# adss-asddsa-dsasadasd

其它函数

  • title:将字符串每个单词首字母转成大写,会改变原有字符
  • lower:将字符串中大写转小写
  • upper:将字符串中小写转大写

判断

startswith和endswith

作用:判断字符串中是否以指定字符开头或结尾,是则返回True,否则返回False
基本用法:字符串序列.startswith(子串,开始位置下标,结束位置下标)

word='fdssdfdsfdsdf'
print(word.startswith('fds'))
print(word.startswith('fds',1))
print(word.endswith('sdf',1))

# 运行结果:
# True
# False
# True

其它函数

  • isalpha:存在字符且所有字符为字母
  • isdigit:存在字符且所有字符为数字
  • isalnum:是否全为数字或字母或数字字母组合
  • isspace:是否全为空白

空格既不是字母也不是数字

猜你喜欢

转载自blog.csdn.net/jiuzhongxian_/article/details/106417697