【Python】字符串String 十大操作

前言

python 除了熟悉的numpy、pandas处理数据外,常会用到处理字符串的内容。

准备

import string  # ps : 对字符串处理,需注意字符串是不可变类型,原字符串不变。 
e.g:
str = "Kobe 81 forever"  # 今天是科比拿下81分的日子,怀念Kobe
str[0:4] == "Kobe"

代码实例

1. 判断是否字符串

由于python注重对象的格式类型,所以先判断字符串,均返回 T/F。
常用于非空集合(避免写循环)、问题排查、是否提取数字、文字等操作;


str.islower()       # 判断是否字符串全部为小写,字符串至少有一个字符
str.isupper()       # 判断是否字符串全部为大写,字符串至少有一个字符
str.istitle()       # 判断是否字符串标题化,即所有单词的首字母都转化为大写 比如:Kobe Forever 即True  title() => 标题化 

str.isalpha()       # 判断是否字符串全部字母组成
str.isdigit()       # 判断是否字符串只包含数字
str.isnumeric()     # 判断是否字符串全部由数字组成,中文数字(零、一、二等,繁体也算)
str.isalnum()       # 判断是否字符串由字母和数字组成,不含空格等

str.isidentifier()  # 判断是否字符串合法标识符 ,即除字符、数字、下划线外都不行;
str.isspace()       # 判断是否字符只有空白字符:即回车、换行和水平制表符

str.isdecimal()     # 判断是否字符全部由十进制的数字组成,不包括中文、罗马字符
str.isascii()       # 判断是否字符串为空或字符串中都是ASCII
str.isprintable()   # 判断是否所有字符是否都可打印的。

2. 字符串的大小比较

max(str)            # 26个字母最后的
min(str)            # 26个字母最前的,空格优于字符
str > str.lower()   # 返回T/F
ord(str)            # 将指定字符转换为原始值
chr(98)             # ASCII

3.大小写转换

str.upper()	        # 将字符串中所有元素都转为大写
str.lower()	        # 将字符串中所有元素都转为小写
str.swapcase()	    # 交换大小写
str.capitalize()    # 第一个单词第一次字符大写,其余小写
str.title()	        # 每个单词的第一个字符大写,其余小写

4.去除两端多余字符

str.strip()         # 去掉两边的空白
str.lstrip()	    # 去掉左边的字符
str.rstrip()        # 去掉右边的字符
str.strip()         # 去掉左右边的字符

5.字符串补齐长度

同hive的LPAD(STRING a, INT len, STRING b)
2个参数,字符串长度以及补充的字符内容;


str.center(20,'a')	        # 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
str.ljust(20,'a')		    # 在右补齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
str.rjust(20,'a')		    # 在左补齐,并使用fillchar(默认空格)填充至长度 width 的新字符串.
str.zfill(20)		        # 即zero fill 左侧填充0补齐. 

6.字符串查询

find(str, beg=0,  end=len(string))	# 查找str第一次出现的位置,如果找到则返回相应的索引,否则返回-1
rfind(str, beg=0, end=len(string))	# 同find(),从右边开始
index(str, beg=0, end=len(string))	# 同find(),只不过如果没找到会报异常。因报异常 一般不用
rindex(str, beg=0,end=len(string))	# 类似于rfind,如果没有匹配的字符串会报异常

str_tmp = 'Nike'
str.find(str_tmp)           # 全部查找
str.find(str_tmp,5)         # 从第5个元素开始查找
str.rfind(str_tmp)          # 从右开始找
str.index(str_tmp)          
str.rindex(str_tmp)   
7.分割字符串

str.split()                     # 以空格进行分割
str.split("e")[0]               # 以e进行分割,取第一位
str.rsplit()	                # 同split类似,从右边开始
str.splitlines()	            # 按照行进行分割,得到新的列表
str.partition("str")	        # 找到第一个str,以str为界,将字符串分割为3部分,返回一个新的元组
str.rpartition("str")	        # 反向partition,分割为3部分,返回一个新的元组

8.合并与替换

" ".join(str)                   # 空格拼接str的每一个子字符 	
replace(old, new [, max])	    # old替换成new, max(非必填)替换次数 
str.replace('81','24')    

9.判断开头结尾字符串

str.startswith('Kobe')    # 以XX开头,返回T/F 
str.endswith('Kobe')      # 以XX结尾,返回T/F 

10.字符串计数

count(sub, start= 0,end=len(string))	# 在字符串[start,end)范围内,计算sub字符串的个数
str.count("e")        
str.count("e",0,8)   # 指定字符范围内

结束语

字符串部分到此结束,基本能满足日常大部分需求。

希望本文有大家有帮助, 如有错误,欢迎指正。
本文地址:https://blog.csdn.net/weixin_41613094/article/details/122654178

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值