[转帖]45个处理字符串的Python方法

处理,字符串,python,方法 · 浏览次数 : 0

小编点评

**题目解析** 题目要求编写代码判断用户输入的内容是否包含数字。 **代码** ```python str = input('请输入内容>>') print(str.isalpha()) ``` **解释** 1. **`str.isalpha()`** 函数检查字符串是否只包含字母字符。 2. 如果字符串只包含字母字符,则函数返回 `True`。 3. 如果字符串包含数字字符,则函数返回 `False`。 **其他注意事项** * `str.isalpha()` 函数会自动将数字字符转换为字母字符。 * 如果字符串包含非字母字符,例如空格或制表符,则函数会将其忽略。

正文

一、题目解析

 

 

先来看一个题目:

 

 

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

 

 

实现代码

 

 

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方法相似的内容:

[转帖]45个处理字符串的Python方法

https://baijiahao.baidu.com/s?id=1738413163267646541&wfr=spider&for=pc 一、题目解析 先来看一个题目: 判断用户输入的内容里是否含有数字。 实现代码 str = input('请输入内容>>')print(str.isalpha(

[转帖]一口气看完45个寄存器,CPU核心技术大揭秘

https://www.cnblogs.com/xuanyuan/p/13850548.html 序言 前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器。 寄存器这个太多太复杂,不适合写故事,拖了很久,总算是写完了,这篇文章就来详细聊聊x86/x64架构

[转帖]tidb集群部署

http://blog.itpub.net/29785807/viewspace-2789852/ 一.安装规划 1 2 3 4 5 6 使用15台服务器 5台tidb服务器:每台3个tidb实例+1个pd+1个pump 10台tikv服务器:每台4个tikv实例 drainer_servers 安

[转帖]中电科45家研究所:北上第一梯队,南京、成都、重庆第二梯队

https://baijiahao.baidu.com/s?id=1731000616385989238&wfr=spider&for=pc 本文数据来源标注在图表标题下方,图表和内容均为安安小小姐姐原创,并开启全网保护,转载引用请联系作者。 中国电子科技集团有限公司,简称中国电科或中电科,缩写为C

[转帖]一张图让你学会LVM

http://blog.itpub.net/69955379/viewspace-2901403/ Linux操作系统 作者:大雄45 时间:2022-11-18 01:13:44 292 0 导读 随着科技的进步,人们不知不觉的就进入了大数据的时代,数据的不断增加我们发现我们的磁盘越来越不够用了,

[转帖]Code brushes for GitHub Copilot

https://christianheilmann.com/2022/12/13/code-brushes-for-github-copilot/ Tuesday, December 13th, 2022 at 4:45 pm Github Next now showed a new feature

[转帖]系统中出现大量不可中断进程和僵尸进程

https://www.jianshu.com/p/f76c54cd00fe 注:本文只是为了辅助自己分析而记录首先我们来分析一下top命令: [root@localhost ~]# top top - 19:24:45 up 1 day, 6:05, 3 users, load average:

[转帖]BASH编写入门与实例

1 2 3 4 5 6 7 8 9 10 怎么写shell脚本: 。使用任何编辑工具编写shell脚本 例如vi -#!/bin/bash #在第一行放置头格式说明 -#!/usr/bin/gawk //awk需要添加的头格式,让系统知道用什么方式去解析此文件 -#!/usr/local/bin/p

[转帖]Redhat 8 磁盘调度策略变化:NOOP改为NONE

说明 在 redhat 4/5/6/7版本中的NOOP调度策略,从8开始修改为NONE,官方解释: none Implements a first-in first-out (FIFO) scheduling algorithm. It merges requests at the generic

[转帖]arm linux下编译xtrabackup-2.4.5

环境:aarch64/centos7.6 glibc-2.17 编译器:gcc version 5.5.0 (GCC) 官方参考文档:https://www.percona.com/doc/percona-xtrabackup/2.4/installation/compiling_xtrabacku