python常用数据类型操作-字符串

该总结来源于网络王顺子的课程课件


1、字符串一般操作


1.1 字符串拼接

方式1:str1 + str2

例子:"wangzha" +"shunzi"-----‘wangzhashunzi’

方式2:直接把两个字符串放一块

例子:"wangzha""shunzi"-----‘wangzhashunzi’
方式3:”xxx%sxxx“%(a+b)

方式4:字符串乘法

例子:"abc" * 3---------"abcabcabc"

1.2 字符串切片,获取一个字符串的某个片段

1.2.1 获取某一个字符:name[下标]

下标是字符串中每个字符的编号,如果为负数, 则会从尾部开始定位,最后一个字符为 -1。

l = 'hbfeczsw'

print(l[0], l[-1])

结果:h w


1.2.2获取一个字符串片段:name[起始:结束:步长]

获取范围:[起始, 结束),起始包含,结束不包含

默认值:起始默认值: 0,结束默认值:len(name),步长默认值: 1

获取顺序:步长 > 0:从左往右,步长< 0:从右往左

特殊案例:反转字符串,字符串[::-1]

l = 'hbfeczsw'

print(l[:], l[1:3],l[::-1])
结果:hbfeczsw bf wszcefbh
2、字符串函数操作

2.1 查找计算

注:len为内建函数,直接使用,其余为对象方法,使用方法为:对象.方法

len:

作用:计算字符串的字符个数

语法:len(name)

参数:字符串

返回值:整型;字符个数

l = 'hbfeczsw'

print(len(l))

结果:8


find:

作用

      查找子串索引位置

语法

      find(sub, start=0,end=len(str))

参数:

参数1-sub,需要检索的字符串;参数2-start,检索的起始位置,可省略, 默认0;参数3-end,检索的结束位置,可省略, 默认len(str)

返回值:

找到了,指定索引,整型;找不到,-1

注意:

从左到右进行查找,找到后立即停止。

l = 'hbfeczsw'

print(l.find('z'), l.find('a'))

结果:5 -1


rfind:

使用方法同find,区别为从右往左查找。

l = 'hbfeczsw'

print(l.rfind('z'), l.find('a'))

结果:5 -1


index:

作用:

获取子串索引位置

语法:

index(sub, start=0, end=len(str))

参数:

参数1-sub,需要检索的字符串;参数2-start, 检索的起始位置,可省略, 默认0;参数3-end,检索的结束位置,可省略, 默认len(str)。

返回值:

找到了,指定索引,整型;找不到,异常。

注意:

从左到右进行查找,找到后立即停止

l = 'hbfeczsw'

print(l.index('z'))
print(l.index('a'))

结果:

5
Traceback (most recent call last):
  File "F:/pycharmpro/cookbook/1、数据结构域算法/test.py", line 4, in <module>
    print(l.index('a'))
ValueError: substring not found

rindex:

功能使用, 同index,区别为从右往左查找。


count:

作用:

计算某个子字符串的出现个数

语法:

count(sub, start=0, end=len(str))

参数:

参数1-sub,需要检索的字符串;参数2-start,检索的起始位置,可省略, 默认0;参数3-end,检索的结束位置,可省略, 默认len(str)

返回值:

子字符串出现的个数,整型。

l = 'hbfeczsw'

print(l.count('s'), l.count('a'))
结果:1   0

2.2 转换计算

replace:

作用:

使用给定的新字符串 替换原字符串中的 旧字符串

语法:

replace(old, new[, count])

参数:

参数1-old,需要被替换的旧字符串;参数2-new,替换后的新字符串;参数3-count,替换的个数,可省略, 表示替换全部

返回值:

替换后的结果字符串

注意:

并不会修改原字符串本身

l = 'hbfeczsw'

print(l.replace('zsw', 'haha'))
print(l)

结果:

hbfechaha

hbfeczsw

capitalize:

作用:

将字符串首字母变为大写

语法:

capitalize()

参数:

返回值:

首字符大写后的新字符串

注意:

并不会修改原字符串本身

l = 'hbfeczsw'

print(l.capitalize())
print(l)

结果:

Hbfeczsw

hbfeczsw


title:

作用:

将字符串每个单词的首字母变为大写

语法:

title()

参数:

返回值:

每个单词首字符大写后的新字符串

注意:

并不会修改原字符串本身

l = 'hbfec zsw'

print(l.title())
print(l)

结果:

Hbfec Zsw

hbfec zsw


lower:

作用:

将字符串每个字符都变为小写

语法:

lower()

参数:

返回值:

全部变为小写后的新字符串

注意:

并不会修改原字符串本身

l = 'HbFec zsw'

print(l.lower())
print(l)

结果:

hbfec zsw

HbFec zsw


upper:

作用:

将字符串每个字符都变为大写

语法:

upper()

参数:

返回值:

全部变为大写后的新字符串

注意:

并不会修改原字符串本身

l = 'HbFec zsw'

print(l.upper())
print(l)

结果:

HBFEC ZSW
HbFec zsw



2.3 填充压缩

ljust:

作用:

      根据指定字符(1个), 将原字符串填充够指定长度

      l表示原字符串靠左

语法:

      ljust(width,fillchar)

参数:

      参数1-width,指定结果字符串的长度

      参数2-fillchar,如果原字符串长度 < 指定长度时,填充过去的字符

返回值:

      填充完毕的结果字符串

注意:

      不会修改原字符串

      填充字符的长度为1

      只有原字符串长度 < 指定结果长度时才会填充

l = 'HbFec zsw'

print(l.ljust(15, 'a'))
print(l.ljust(7, 'a'))
print(l)

结果:

HbFec zswaaaaaa
HbFec zsw
HbFec zsw


rjust:

作用:

      根据指定字符(1个), 将原字符串填充够指定长度

      r表示原字符串靠右

语法:

      rjust(width,fillchar)

参数:

      参数1-width,指定结果字符串的长度

      参数2-fillchar,如果原字符串长度 < 指定长度时,填充过去的字符

返回值:

      填充完毕的结果字符串

注意:

      不会修改原字符串

      填充字符的长度为1

      只有原字符串长度 < 指定结果长度时才会填充

l = 'HbFec zsw'

print(l.rjust(15, 'a'))
print(l.rjust(7, 'a'))
print(l)

结果:

aaaaaaHbFec zsw
HbFec zsw
HbFec zsw


center:

作用:

      根据指定字符(1个), 将原字符串填充够指定长度

      center表示原字符串居中

语法:

      center(width,fillchar)

参数:

      参数1-width,指定结果字符串的长度

      参数2-fillchar

           如果原字符串长度< 指定长度时

           填充过去的字符

返回值:

      填充完毕的结果字符串

注意:

      不会修改原字符串

      填充字符的长度为1

      只有原字符串长度 < 指定结果长度时才会填充

l = 'HbFec zsw'

print(l.center(15, 'a'))
print(l.center(7, 'a'))
print(l)

结果:

aaaHbFec zswaaa
HbFec zsw

HbFec zsw


lstrip:

作用:

      移除所有原字符串指定字符(默认为空白字符)

      l表示从左侧开始移除

语法:

      lstrip(chars)

参数:

      参数-chars为需要移除的字符集,表现形式为字符串。"abc"表示,"a"|"b"|"c"

返回值:

      移除完毕的结果字符串

注意:

      不会修改原字符串

l = '     HbFec zsw'

print(l.lstrip(' '))
print(l.lstrip('b'))
print('HbFec zsw'.lstrip('H'))
print(l)

结果:

HbFec zsw
     HbFec zsw
HbFec zsw

     HbFec zsw


rstrip:

作用:

      移除所有原字符串指定字符(默认为空白字符)

      l表示从右侧开始移除

语法:

      lstrip(chars)

参数:

      参数-chars为需要移除的字符集,表现形式为字符串。"abc"表示,"a"|"b"|"c"

返回值:

      移除完毕的结果字符串

注意:

      不会修改原字符串


2.4 分割拼接

split:

作用:

      将一个大的字符串分割成几个子字符串

语法:

      split(sep, maxsplit)

参数:

      参数1-sep,分隔符

      参数2-maxsplit,最大的分割次数,可省略, 有多少分割多少

返回值:

      分割后的子字符串,组成的列表

      list 列表类型

注意:

      并不会修改原字符串本身

 

l = 'HbFec zsw'

print(l.split(' '))
print(l)

结果:

['HbFec', 'zsw']
HbFec zsw


partition:

作用:

      根据指定的分隔符,返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)

语法:

      partition(sep)

参数:

      参数-sep,分隔符

返回值:

      如果查找到分隔符

   (分隔符左侧内容,分隔符, 分隔符右侧内容)

           tuple 类型

      如果没有查找到分隔符

           (原字符串,"", "")

           tuple 类型

注意:

      不会修改原字符串

      从左侧开始查找分隔符

l = 'HbFec zsw'

print(l.partition(' '))
print(l)

结果:

('HbFec', ' ', 'zsw')
HbFec zsw


rpartition:

作用:

      根据指定的分隔符,返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)

      r表示从右侧开始查找分隔符

语法:

      partition(sep)

参数:

      参数-sep,分隔符

返回值:

     如果查找到分隔符

           (分隔符左侧内容,分隔符, 分隔符右侧内容)

           tuple 类型

      如果没有查找到分隔符

           (原字符串,"", "")

           tuple 类型

注意:

      不会修改原字符串

      从右侧开始查找分隔符


splitlines:

作用:

      按照换行符(\r,\n), 将字符串拆成多个元素, 保存到列表中

语法:

      splitlines(keepends)

参数:

      参数-keepends

           是否保留换行符

           bool 类型

返回值:

      被换行符分割的多个字符串, 作为元素组成的列表

      list 类型

注意

      不会修改原字符串

l = '''hbfec
zsw'''

print(l.splitlines(True))
print(l.splitlines(False))
print(l)

结果:

['hbfec\n', 'zsw']
['hbfec', 'zsw']
hbfec

zsw


join:

作用:

      根据指定字符串,将给定的可迭代对象, 进行拼接, 得到拼接后的字符串

语法:

      join(iterable)

参数:

      iterable

           可迭代的对象:字符串,元组,列表...

返回值:

      拼接好的新字符串

l = 'hbfeczsw'

print('.'.join(l))

结果:

h.b.f.e.c.z.s.w


2.5 判定

isalpha:

作用:

      字符串中是否所有的字符都是字母,不包含该数字,特殊符号,标点符号等等,少有一个字符

语法:

      isalpha()

参数:

      无

返回值:

      是否全是字母

      bool 类型

l = 'hbfeczsw'

print(l.isalpha())

结果:True


isdigit:

作用:

      字符串中是否所有的字符都是数字,不包含该字母,特殊符号,标点符号等等,至少有一个字符

语法:

      isdigit()

参数:

      无

返回值:

      是否全是数字

      bool 类型

l = '12345'
l1 = '123,'

print(l.isdigit())
print(l1.isdigit())

结果:

True

False


isalnum:

作用:

      字符串中是否所有的字符都是数字或者字母,不包含该特殊符号,标点符号等等,至少有一个字符

语法:

      isalnum()

参数:

      无

返回值:

      是否全是数字或者字母

      bool 类型

l = 'hbfec123'

print(l.isalnum())

结果:True


isspace:

作用:

      字符串中是否所有的字符都是空白符,包括空格,缩进,换行等不可见转义符,至少有一个字符

语法:

      isspace()

参数:

      无

返回值:

      是否全是空白符

      bool 类型

l = ' '
l1 = ' h'

print(l.isspace())
print(l1.isspace())

结果:

True

False


startswith:

作用:

      判定一个字符串是否以某个前缀开头

语法:

      startswith(prefix,start=0, end=len(str))

参数:

      参数1-prefix,需要判定的前缀字符串

      参数2-start,判定起始位置

      参数3-end,判定结束位置

返回值:

      是否以指定前缀开头

      bool 类型

l = 'hbfec'


print(l.startswith('h'))

结果:True


endswith:

作用:

      判定一个字符串是否以某个后缀结尾

语法:

      endswith(suffix,start=0, end=len(str))

参数:

      参数1-suffix,需要判定的后缀字符串

      参数2-start,判定起始位置

      参数3-end,判定结束位置

返回值:

      是否以指定后缀结尾

      bool 类型


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值