https://baijiahao.baidu.com/s?id=1738413163267646541&wfr=spider&for=pc
 

一、题目解析

先来看一个题目:

判断用户输入的内容里是否含有数字。

实现代码

str = input('请输入内容>>')
print(str.isalpha())

今天我们来一起看一下,Python中str字符串的所有45个内置操作。

二、45个方法

我把这45个方法,根据用途的不同,分为了6个类别:

# 下文所有的str,都是用的这个变量 
str = 'https://www.python-office.com {content}'

1、拼接

print('-'.join(str))  # 用来指定拼接符号,拼接出一个字符串,效率比+高
print(str.center(100, '*')) # 字符串居中,左右填充指定内容
print(str.ljust(50, '*')) # 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
print(str.rjust(50, '*')) # 它将原字符串右对齐,并使用空格填充至指定长度,并返回新的字符串。如果指定的长度小于原字符串长度,则直接返回原字符串。
print(str.zfill(50)) # 返回指定长度的字符串,原字符串右对齐,前面填充0。

2、查找

print(str.count('p'))  # 指定内容,在原str中出现了多少次

print(str.find('pip')) # 包含pip,则返回开始的索引值,否则返回-1。
print(str.index('pip')) # 包含pip,则返回开始的索引值,否则返回Exception。

print(str.rfind(' ')) # 返回参数字符串在字符串中最后一次出现的位置。没有查询到则返回-1.
print(str.rindex(' ')) # 返回参数字符串在字符串中最后一次出现的位置。没有查询到则返回Exception.

3、分割和替换

print(str.replace(' ', '-'))  # 替换操作,str.replace()函数并不对原有的字符串进行改变。

print(str.partition(' ')) # 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
print(str.rpartition(' ')) # 类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。

print(str.rsplit(' ')) # 如果给出了 maxsplit,则最多进行 maxsplit 次拆分,从 最右边 开始。
print(str.split(' ')) # 分割字符串
print(str.splitlines()) # 按照行界符('\r', '\r\n', \n'等)分隔,返回一个包含各行作为元素的列表,默认不包含行界符。

print(str.lstrip('p')) # 删除从开头开始指定的字符串,然后返回结果字符串。注意:只能从开头开始
print(str.rstrip('p')) # 删除 string 字符串末尾的指定字符,默认为空白符,包括空格、换行符、回车符、制表符。
print(str.strip()) # 删除前后的指定字符,默认是空格

4、大小写操作

print(str.capitalize())  # 第一个字母大写,对中文无效
print(str.lower()) # 字母转为小写,只对英语有效
print(str.casefold()) # 字母转为小写,所有语言都有效,例如:德语
print(str.upper()) # 字母全部转为大写,英语有效
print(str.swapcase()) # 将字符串中的英文字母大小写互换,并返回修改后的字符串。
print(str.title()) # 将字符串中的每个单词首字母大写,其余字母小写,并返回新的字符串。

5、判断内容

print(str.startswith('pip'))  # 判断是否以pip为开头
print(str.endswith('office')) # 判断str是否以office结尾
print(str.isalnum()) # 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
print(str.isalpha()) # 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
print(str.isascii()) # 如果字符串为空或字符串中的所有字符都是 ASCII,则返回 True,否则返回 False。
print(str.isdecimal()) # 如果字符串中的所有字符都是十进制字符,则返回True
print(str.isdigit()) # isdigit函数检测字符串中是否只包含数字字符。若全部是由数字字符组成的字符串,则返回True,否则返回False。isdigit函数没有参数。
print(str.isidentifier()) # 如果字符串是Python中的有效标识符,返回True。如果不是,则返回False。
print(str.islower()) # islower() 方法检测字符串是否由小写字母组成.
print(str.isupper()) # 检测字符串中所有的字母是否都为大写。
print(str.isnumeric()) # 检查字符串中是否只包含数值字符。此方法只适用于Unicode的对象。

print(str.isprintable()) # 如果字符串中的所有字符都可打印或字符串为空,则返回 True,否则返回 False。
print(str.isspace()) # 检测字符串是否只由空白字符组成。
print(str.istitle()) # 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

6、不常用

print(str.maketrans())#此静态方法返回一个 可供 str.translate() 使用的转换对照表。
print(str.translate())
print(str.encode(encoding='utf8', errors='strict')) # 返回字符串编码后的数据,默认的编码是当前的字符串编码。errors为给定的不同错误处理方法。
print(str.expandtabs()) # 用空格替换\t符号
print(str.format(content='yyds'))

format_map_dict = {'content': 'yyds'}
print(str.format_map(format_map_dict)) # str.format_map(mapping) 方法仅适用于字符串格式中可变数据参数来源于字典等映射关系数据时。mapping 会被直接使用而不是复制到一个 dict。

三、注意事项

上一篇我们分享了:12种Python里正则表达式的用法

同样是处理字符串的操作,str和正则方法的区别是什么呢?

  • 你可以简单理解为:str内置方法用来处理简单字符串;正则用来处理复杂的字符串。
  • 尽量使用str方法或者正则,因为这样比自己写代码更方便,而且代码运行效率也更快。

绝了!深度解析了1道华为笔试题,学会了12种Python正则写法

1行Python代码,实现PDF转图片,速度太太太太太快了

3年开发了5个私人项目:自动化办公、网站、机器人、小程序……

[转帖]45个处理字符串的Python方法的更多相关文章

  1. python字符串内置方法

    网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...

  2. Python 字符串分割的方法

    在平时工作的时候,发现对于字符串分割的方法用的比较多,下面对分割字符串方法进行总结一下:第一种:split()函数split()函数应该说是分割字符串使用最多的函数用法:str.split('分割符' ...

  3. python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

    1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = Fal ...

  4. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

  5. 6.python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  6. 《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 && 简化字符串的translate方法的使用

    检查字符串中是否包含某字符集合中的字符  任务: 检查字符串中是否出现了某个字符集合中的字符 解决方案: 方案一: import itertools def containAny(seq,aset): ...

  7. Python Cookbook(第3版)中文版:15.15 C字符串转换为Python字符串

    15.15 C字符串转换为Python字符串¶ 问题¶ 怎样将C中的字符串转换为Python字节或一个字符串对象? 解决方案¶ C字符串使用一对 char * 和 int 来表示, 你需要决定字符串到 ...

  8. python字符串-内置方法用法分析

    1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本

  9. python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  10. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

随机推荐

  1. Python图像处理丨带你掌握图像几何变换

    摘要:本篇文章主要讲解图像仿射变换和图像透视变换,通过Python调用OpenCV函数实. 本文分享自华为云社区<[Python图像处理] 十二.图像几何变换之图像仿射变换.图像透视变换和图像校 ...

  2. Python 的 sum():Pythonic 的求和方法

    摘要:Python 的内置函数sum()是一种对数值列表求和的有效且Pythonic 的方法.将多个数字相加是许多计算中常见的中间步骤,因此sum()对于 Python 程序员来说是一个非常方便的工具 ...

  3. 让数据大白于天下:GCC插件实现代码分析和安全审计

    摘要: 如何利用GCC的插件功能,辅助安全分析人员实现对程序的安全审计.漏洞检测.安全加固等自动化处理能力,提升分析效率和精准度. 本文分享自华为云社区<利用GCC插件实现代码分析和安全审计&g ...

  4. Excel 选择性粘贴

    乘以某个系数 选择 粘贴时,乘以某个系数 两列合一列 添加一列辅助列 方法2

  5. 用Python自动清理系统垃圾,再也不用360安全卫士了

    用Python自动清理系统垃圾,再也不用360安全卫士了 在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:.tmp.._mp)日志文件(.log).临时帮助文件(.gid ...

  6. Android 编译线程爆了, gradle 内存 OOM 解决之路

    本文首发我的微信公众号徐公,收录于 Github·AndroidGuide,这里有 Android 进阶成长知识体系, 希望我们能够一起学习进步,关注公众号徐公,5 年中大厂程序员,一起建立核心竞争力 ...

  7. 【辅助工具】Maven使用

    Maven使用 错误排查 查看对应依赖在仓库中的路径,jar文件有没有下载成功,如果不成功直接把外部文件夹删除重新加载 导包错误 找到对应的路径,丛正常导入的同事直接复制过来. Maven启动项目 导 ...

  8. Codeforce 1335C - Two Teams Composing 统计技能种类数量+统计同一技能最大数量

    7 4 2 4 1 4 3 4 统计技能种类数量 4种不同技能 统计同一技能最大数量 技能1(数量1) 技能2(数量1) 技能3(数量1) 技能4(数量4) 选出 技能4(数量4) 作为 第2组 扣除 ...

  9. Educational Codeforces Round 106 (Rated for Div. 2) 简单题解(A~C)

    1499A. Domino on Windowsill 题意:给定一个 \(2 \times n\) 的空间,\(k1.k2 行要设置为白色(2 \times 1)\) 然后其他的设置为黑色 思路:为 ...

  10. 图解 Promise 实现原理(三)—— Promise 原型方法实现

    本文首发于 vivo互联网技术 微信公众号 链接:  https://mp.weixin.qq.com/s/u8wuBwLpczkWCHx9TDt4Nw作者:Morrain Promise 是异步编程 ...