Python -字符串

目录

1.1 字符串的常用操作

查询

大小写转换

 内容对齐

劈分

 判断字符串

替换&合并

 比较(ord();chr())

切片 [start : end : step]

格式化字符串

编码转换


1.1 字符串的常用操作

查询

  • index()
    • 查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueError
  • rindex()
    • 查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError
  • *find()
    • 查找子串substr第一次出现的位置,如果查找的子串不存在时,则返回-1
  • *rfind()
    • 查找子串substr最后一次出现的位置,如果查找的子串不存在时,则返回-1

# -*- coding:utf-8 -*-
# @Author :Persistent.J

s = 'hello,hello'
print(s.index('lo'))
print(s.find('lo'))
print(s.rindex('lo'))
print(s.rfind('lo'))
'''
3
3
9
9

'''

大小写转换

  • upper()
    • 将字符串中的字符都转成大写字母
  • lower()
    • 将字符串中的字符都转成小写字母
  • swapcase()
    • 把字符串中所有大写字母转成小写字母,把所有小写字母都转成大写字母
  • capitalize()
    • 把第一个字符转换为大写,把其余字符转换为小写
  • title()
    • 把每个单词的第一个字符转换为大写,把每个单词的剩余字母转换为小写
# -*- coding:utf-8 -*-
# @Author :Persistent.J

s = 'Hello py'
print(s.upper()) # HELLO PY
print(s.lower()) # hello py
print(s.title()) # Hello Py
print(s.swapcase()) # hELLO PY
print(s.capitalize()) # Hello py

 内容对齐

  • center()
  • ljust()
  • rjust()
  • zfill()

劈分

  • split()
    • 从字符串的左边开始劈分,默认的劈分字符时空格字符串,返回的值都是一个列表
    • 以通过参数sep指定劈分字符串是的劈分符
    • 通过参数maxsplit指定劈分字符串时的最大劈分次数,在经过最大次劈分之后,剩余的子串会单独做为一部分
  • rsplit()
    • 从字符串的右边开始劈分,默认的劈分字符时空格字符串,返回的值都是一个列表
    • 以通过参数sep指定劈分字符串是的劈分符
    • 通过参数maxsplit指定劈分字符串时的最大劈分次数,在经过最大次劈分之后,剩余的子串会单独做为一部分
# -*- coding:utf-8 -*-
# @Author :Persistent.J

s = 'a b c d e f '
print(s.split())
# ['a', 'b', 'c', 'd', 'e', 'f']
s = 'a|b|c|d|e|f '
print(s.split(sep='|'))
# ['a', 'b', 'c', 'd', 'e', 'f']
s = 'a|b|c|d|e|f '
print(s.split(sep='|', maxsplit=2))
# ['a', 'b', 'c|d|e|f ']
-------------------------------------------------------------------------------------------
s = 'a b c d e f '
print(s.rsplit())
# ['a', 'b', 'c', 'd', 'e', 'f']
s = 'a|b|c|d|e|f '
print(s.rsplit(sep='|'))
# ['a', 'b', 'c', 'd', 'e', 'f']
s = 'a|b|c|d|e|f '
print(s.rsplit(sep='|', maxsplit=2))
# ['a|b|c|d', 'e', 'f ']

 判断字符串

  • isidentifier()
    • 判断指定的字符串是不是合法的标识符
  • isspace()
    • 判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符)
  • isalpha()
    • 判断指定的字符串是否全部由字母组成
  • isdecimal()
    • 判断指定的字符串是否全部由十进制的数字组成
  • isnumeric()
    • 判断指定的字符串是否全部由数字组成
  • isalnum()
    • 判断指定的字符串是否全部由字母和数字组成

替换&合并

  • replace(被替换的子串, 指定替换子串的字符串, 指定最大替换次数)
    • 字符串的替换
  • join()
    • 字符串的合并--将列表或元组的字符串合并成一个字符串
# -*- coding:utf-8 -*-
# @Author :Persistent.J

s = 'hello pycharm'
print(s.replace('pycharm', 'c')) # hello c
s1 = 'hello pycharm pycharm pycharm D'
print(s1.replace('pycharm', 'c', 2)) # hello c c pycharm D

s2 = ['hello pycharm pycharm pycharm D']
print(''.join(s2)) # hello pycharm pycharm pycharm D
s3 = ['hello', 'pycharm', 'pycharm', 'pycharm', 'D']
print('|'.join(s3)) # hello|pycharm|pycharm|pycharm|D

tup = ('cc', 'c')
print('-'.join(tup)) # cc-c
print('+'.join('abc')) # a+b+c

 比较(ord();chr())

  • <=
  • <
  • >=
  • >
  • ==
  • !=

切片 [start : end : step]

# -*- coding:utf-8 -*-
# @Author :Persistent.J

a = 'good morning'
print(a[2:1:1]) 
print(a[1:4:1])
print(a[2:3:1])
print(a[1:6:1])
print(a[0:5:1])
print(a[3:4:1])
'''
ood
o
ood m
good 
d
'''

格式化字符串

  • % 做占位符----%
  • { } 做占位符----formate()
# -*- coding:utf-8 -*-
# @Author :Persistent.J

name = 'Q'
num = 88

print('名称{0},数量{1}'.format(name, num))
print('名称%s,数量%d' % (name, num))
print(f'名称{name},数量{num}')
'''
名称Q,数量88
名称Q,数量88
名称Q,数量88
'''

编码转换

  • 编码  将字符串转换为二进制数据(bytes)

    • gbk 一个中文占两个字节

    • utf-8一个中文占三个字节

  • 解码 将bytes类型的数据转换成字符串类型

    • print(byte.decode(encoding = 'gbk'))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OR_0295

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值