python之字符串的基础使用方法

今天记录一下关于字符串的一些基本操作

“”"
字符串处理方法
“”"
========= 基本处理=======
test = ‘aLexalex’

首字母大写

a = test.capitalize()

所有字母变小写,很多未知的对应关系也可小写(作用范围大于lower)

test = 'aLexalex'
a1 = test.casefold()

英文字符变大/小写

test = 'aLexalex'
a_2 = test.upper()  # 重点:
a2 = test.lower()

判断字符串是否为大/小写字母,返回布尔型

test = 'aLexalex'
a2_ = test.islower()
a2__ = test.isupper()

设置宽度并将字符串居中,居左,居右,0填充(只能左填充0),

10代表总长度, *代表空白位置填充,但只能一个字符

test = 'aLexalex'
a3 = test.center(10, "*")
a3_ = test.ljust(10, '#')
a3__ = test.rjust(10, '$')
a_3 = test.zfill(15)

对字符串中元素计数

# 2,6 为始终范围
test = 'aLexalex'
a4 = test.count('e', 2, 6)

显示字符串是否以什么结尾/开头

test = 'aLexalex'
a5 = test.endswith('ex')
a6 = test.startswith('aL')

在原字符串中找其子序列,获取其位置,找到即结束,找不到返回-1

# 也可设置始终范围
test = 'aLexalex'
a7 = test.find('ex')  # 重点:

格式化,将一个字符串中的占位符替换为指定的值(替换字符串内容)a8

若占位符为数字,则按数字顺序替换(从0开始) a9

s = 'i am {name},age{age}'
s1 = 'i am {1},age{0}'
a8 = s.format(name='10011', age=23)
a9 = s1.format('alex', 19)

以字典形式替换

a10 = s.format_map({'name': '10011', 'age': 19})

按指定形式替换

s2 = 'lifeisshortiusepython'  # 重点
a10_ = s2.replace('use', 'make', 1)  # 按数字决定替换前几个 3就是替换前三个

索引,找不到会报错

a11 = test.index('ex')

筛选字符串中的数字和字母,返回布尔型,有其他类型字符返回False

t = 'aasd245436/。/,'
a12 = t.isalnum()

按参数分隔字符串,若有\t给其加空格,(按参数加),(断句)

# 比如参数为五,\t前有1个字符,则配4个空格
test1 = 'username\temail\tpassword\n10011\t@qq.com\t123\nadmin\t@126.com\t234'
a13 = test1.expandtabs(10)

判断字符串是否纯为字母和汉字,返回布尔型

test2 = 'aLexalex好'
a14 = test2.isalpha()

判断字符串是否纯为数字

# (前者只支持十进制数字,
# 后者支持特殊形式的数字不支持中文数字,
# 第三个在第二个基础上支持中文数字)
t1 = '1234三'
a15 = t1.isdecimal()
a16 = t1.isdigit()
a17 = t1.isnumeric()

判断命名(标识符)规范(数字,字母,下划线),返回布尔型

t2 = '1d34fg-'
a18 = t2.isidentifier()

判断是否可打印输出可以显示的字符(转义字符不可见,除外),返回布尔型

t3 = 'fefev\ndsfds\t'
a19 = t3.isprintable()

判断是否为纯空格(只能全是空格,也就是空字符串,不是什么也没有),返回布尔型

t4 = '       '
a20 = t4.isspace()

判断字符串是否为标题,即所有单词首字母大写,返回布尔型

t5 = 'Life Is Short,I Use Python'
a21 = t5.istitle()

将普通字符串转换为标题形式,即首字母大写

t6 = 'life is short,i use python'
a22 = t6.title()

将字符串中字符用指定分隔符分开(拼接)

join内部循环字符串,每个字符添加分隔符

t7 = '人生苦短我用Python'
t77 = '*'
a22 = t77.join(t7)  # 重点:

去除两边,左边,右边空白,\n,\t (从左边或者右边开始进行匹配)

左边和右边还可去除参数中指定的字符 (优先最多匹配:先匹配数量多的)

t8 = ' \npython\t'
a23 = t8.strip()  # 重点:
a23_ = t8.lstrip()
a23__ = t8.rstrip()
a2_3 = t8.lstrip('yupj')  # 只要参数中含有字符串中字符,他都会去匹配

先创建对应关系t_9,再根据对应关系将字符串中字符按照对应关系进行替换

t9 = 'adfhferthj;dstryjng;viuochv'
t_9 = str.maketrans('aeiou', '12345')
a24 = t9.translate(t_9)

按照规定参数(参数为字符串中字符,只能传一个,且分割后参数存在)

对字符串中第一个参数所在位置进行分割,分割完即停止(只能分割一次)

t10 = 'adsfgshjksyt'
a25 = t10.partition('s')
a26 = t10.rpartition('s')  # 从右边开始分割

按照参数对字符串进行分割,可以规定分割次数(分割几次),分割后参数不存在

后者从右开始分割

t10 = 'adsfgshjksyt'
a27 = t10.split('s', 2)  # 重点:
a28 = t10.rsplit('s')

将字符串中按换行符分割,参数为True保留换行符,false则不保留

t11 = 'asd\nfdset\ndwerewr'
a29 = t11.splitlines(True)

将字符串中大小写反转

t12 = 'AbCdEfG'
a30 = t12.swapcase()

============= 进阶处理 ============

通过索引下标获取字符串中某一个字符

x = 'python'
c = x[2]

通过索引下标获取字符串中某些字符(字符串切片)

x = 'python'
c1 = x[0:4:2]  # 范围 >=0,<4,步长为2

查看字符串长度

x = 'python'
c2 = len(x)
#print(c, c1, c2)

for循环

x = 'python'
for i in x:
    pass
""""
# 字符串在内存中一旦创建就不可修改,若修改或拼接,则会在内存中重新创建一个
"""

创建自定义范围数字

for i in range(0, 100, 3):  # 左闭右开
   pass

okk,仅作学习记录,如有错误,请各位前辈多多指教

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值