字符串函数操作汇总

字符串函数操作


加 * 表示内建函数,可以直接使用

一、查找计算

1. len()*
name = "我爱python"
print(len(name))

输出8

2. find()

从左往右进行查找

name = "我爱pythonpy"
# print(len(name))
num1 = name.find("p")#查找第一个p的索引位置
num2 = name.find("p",3)#start=3:从索引3开始找p的索引位置
num3 = name.find("p",7,9)#start=7,stop=9.从索引3开始至9结束找p的索引位置
print(num1)
print(num2)
print(num3)

输出:
在这里插入图片描述

3. rfind()

与find() 的区别在于:从右往左进行查找

name = "我爱pythonpy"
# print(len(name))
num1 = name.rfind("p")#查找第一个p的索引位置
num2 = name.rfind("p",-3)#start=3:从索引3开始找p的索引位置
num3 = name.rfind("p",-9,-7)#start=7,stop=9.从索引3开始至9结束找p的索引位置
print(num1)
print(num2)
print(num3)

输出:
在这里插入图片描述

4. index()

与find() 一样,区别在于,find() 没有查找到返回-1,而index() 没有查找到则报错。

name = "我爱pythonpy"
# print(len(name))
# num1 = name.rfind("p")#查找第一个p的索引位置
num2 = name.find("p",9)#start=3:从索引3开始找p的索引位置
# num3 = name.index("p",9)#start=7,stop=9.从索引3开始至9结束找p的索引位置
# print(num1)
print(num2)
# print(num3)

输出:-1

name = "我爱pythonpy"
# print(len(name))
# num1 = name.rfind("p")#查找第一个p的索引位置
num2 = name.find("p",9)#start=3:从索引3开始找p的索引位置
num3 = name.index("p",9)#start=7,stop=9.从索引3开始至9结束找p的索引位置
# print(num1)
print(num2)
print(num3)

输出:
在这里插入图片描述
可以理解为一个是查找,一个是获取:
没找到就说-1,告诉你没找到(没找到也是一种结果)
获取不到就报错,告诉你没有结果

5. rindex()

功能同index()
从右往左进行查找

name = "我爱pythonpy"
print(name.index('p'))
print(name.rindex('p'))

输出:
在这里插入图片描述

6. count()
  • 作用:计算某个子字符串出现个数
  • 语法:count(sub, start=0, end=len(str))
    sub:需要检索的字符串
    start:检索的起始位置,默认0,可省略
    end:检索的结束位置,默认len(str),可省略
  • 返回值:子字符串出现个数,整型
name = "我爱pythonpy"
print(name.count("p"))
print(name.count("th"))

输出:
在这里插入图片描述

二、转换类操作

1. replace()
  • 作用:替换旧字符串
  • 语法:replace(old, new[, count])
    count:替换的个数,默认全替,可省略
  • 返回值:替换后结果的字符串
  • 注:不会修改源字符串本身
name = "我爱pythonpy"
print(name.replace("我爱","我们爱"))
print(name)

输出:
在这里插入图片描述

2. capitalize()
  • 作用:将字符串首字母变为大写
  • 注:不会修改源字符串本身
3. title()
  • 作用:将字符串每个单词的首字母大写
    (怎么区别单词,凡是两个字母中间有分隔符的)
name = "wo ai python-yy%qq"
print(name.capitalize())
print(name.title())

输出:
在这里插入图片描述

注意:数字开头不区分大小写

4. lower()
  • 作用:将字符串每个字符都变为小写
5. upper()
  • 作用:将字符串每个字符都变为大写

三、填充压缩

将字符串的长度变成需要的

1. ljust()
  • 作用:根据指定字符,将原字符串填充够指定长度
    l:表示字符串靠左
  • 语法:ljust(width, fillchar)
    width:指定结果字符串长度
    fillchar:原字符串长度<指定长度时,进行填充的字符,只能是一个字符
  • 注:不会修改原字符串,只有当原字符串长度<指定长度时生效
name = "py"
print(name.ljust(6,"t"))
print(name.ljust(1,"t"))

输出:
在这里插入图片描述

2. rjust()

原字符串靠右

3. center()

原字符串居中

name = "py"
print(name.ljust(6,"t"))
print(name.rjust(6,"t"))
print(name.center(6,"t"))

输出:
在这里插入图片描述

4. lstrip()
  • 作用:移除所有原字符串中指定字符(默认空白字符)
    (空格,\n,\t 都是空白符)
    l:仅仅移除左侧指定字符
  • 语法:lstrip(chars)
5. rstrip()

仅仅移除右侧

name = "   wo ai python     "
name1 = "wwwoooo ai python     "
print("|"+ name + "|")
print("|" + name.lstrip() + "|")
print("|" + name.rstrip() + "|")
print("|" + name1.lstrip("wo") + "|")#此时字符串最左边必须以w开头,否则不能移除
print("|" + name1.lstrip("o") + "|")

输出:
在这里插入图片描述

四、分割拼接

1. split()
  • 作用:将一个大字符串分割成几个小字符串
  • 语法:split(sep, maxsplit)
    sep:分隔符
    maxsplit:最大的分割次数,可省略,默认有多少分割多少
  • 返回值:分割后的子字符串,组成的列表,list列表类型
  • 注:不会修改原字符串
info = "miya-160-python-0558-1234567"
print(info.split("-",3))
print(info)

输出:
在这里插入图片描述

2. partition()
  • 作用:根据指定的分隔符,返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)
  • 语法:partition(sep)
  • 返回值:tuple元组类型
    找到分隔符:返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)
    没找到分隔符:返回(原字符串,“”,“”)
  • 注:不会修改原字符串;从左侧开始查找分隔符
3. rpartition()

从右侧开始查找分隔符

info = "miya-160-python-0558-1234567"
print(info.partition("-"))#左侧开始查找
print(info.rpartition("-"))#右侧
print(info.partition("#"))#查找不到
print(info.rpartition("#"))
print(info)

输出:
在这里插入图片描述

4. splitlines()
  • 作用:按照换行符(\n, \t),将字符串拆成多个元素,保存到列表中
  • 语法:splitlines(keepends)
    keepends:是否保留换行符;bool类型,默认False
  • 返回值:被换行符分割的多个字符串,作为元素组成的列表;list类型
  • 注:不会修改原字符串
name = "wo \n shi \n miya"
print(name.splitlines())
print(name.splitlines(True))
print(name.splitlines(False))
print(name)

输出:
在这里插入图片描述

5. join()
  • 作用:根据指定字符串,将给定的可迭代对象,进行拼接,得到拼接后的字符串
  • 语法:“xxx”.join(iterable)
    iterable:可迭代对象(凡是可使用for循环进行遍历的都叫做可迭代对象)
  • 返回值:拼接好的新字符串
name = ['wo','shi','miya']
print('-'.join(name))

输出:
在这里插入图片描述

五、判定操作

判定是否是数字、空白等

1. isalpha()
  • 作用:判定字符串中是否所有的字符都是字母(字母不包含数字、特殊符号、标点符号等等,且字符串至少有一个字符)

  • 语法:字符串.isalpha()

  • 返回值:是否全是字母;bool类型

name = "miYA"
name1 = "mi/YA"
name2 = " "
print(name.isalpha())
print(name1.isalpha())
print(name2.isalpha())

输出:
在这里插入图片描述

2. isdigit()
  • 作用:判定字符串中是否所有的字符都是数字
name = "123"
name1 = "1/12"
name2 = " "
print(name.isdigit())
print(name1.isdigit())
print(name2.isdigit())

输出:
在这里插入图片描述

3. isalnum()
  • 作用:判定字符串中是否所有的字符都是数字或者字母
name = "2345"
name1 = "miya"
name2 = "miya2345"
name3 = ""
print(name.isalnum())
print(name1.isalnum())
print(name2.isalnum())
print(name3.isalnum())

输出:
在这里插入图片描述

4. isspace()
  • 作用:判定字符串中是否所有的字符都是空白符
    (空白符:包括空格,缩进,换行等不可见转义符)
  • 注:至少有一个字符,没有字符返回False
name = "\n"
name1 = "miya\n"
name3 = ""
print(name.isspace())
print(name1.isspace())
print(name3.isspace())

输出:
在这里插入图片描述

5. startswith()
  • 作用:判定一个字符串是否以某个前缀开头
  • 语法:startswith(prefix, start=0, end=len(str))
    prefix:需要判定的前缀字符串
    [start, end):判定区间
name = "2022-12-07:  某报告"
print(name.startswith("2022"))
print(name.startswith("2022",2))
print(name.startswith("22",2))

输出:
在这里插入图片描述

6. endswith()
  • 作用:判定一个字符串是否以某个后缀结束
name = "2022-12-07:  某报告.xls"
print(name.endswith(".xls"))

输出:
在这里插入图片描述

六、补充

1. in()
  • 作用:判定一个字符串,是否被另一个字符串包含
2. not in()
  • 作用:判定一个字符串,是否不被另一个字符串包含
name = "wo shi miya2345"
print("mi" in name)
print("mi" not in name)

输出:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值