Python-字符串函数详记
文章目录
前言
一般操作包括:拼接和切片。
函数操作包括:查找计算、转换、填充压缩、分割拼接、判定。
一、字符串的一般操作
字符串的一般操作包括字符串的拼接、切片操作。
1.字符串的拼接(四种方式)
字符串的拼接大概有四种方式:
- 方式一:str1 + str2;
print('zhangsan'+'lisi')
# output:'zhangsanlisi'
- 方式二:直接把两个字符串放一块;
print('zhangsan''lisi')
# output:'zhangsanlisi'
- 方式三:“xxx%sXXX" %(‘sky’);
print('xxx%sXXX'%('sky'))
# output: xxxskyXXX
- 方式四: 字符串乘法;
print('abc'*10)
# output:abcabcabcabcabcabcabcabcabcabc
2.字符串的切片
目的:获取一个字符串的某个片段。
- name[起始:结束:步长]
- 注意:
获取范围: 起始包含,结束不包含;
默认值:
起始默认为零,结束默认为len(name),即整个字符传的长度;
步长默认值为1; - 获取顺序:
步长>0 :从左到右;
步长<0 :从右往左;
(注意:不能从头部跳到尾部,或者从尾部跳到头部) - 特殊案例:反转字符串
#反转字符串:
name='helloworld'
print(name[::-1])
# output : dlrowolleh
二、字符串的函数操作
字符串的函数操作可以分为以下类别:查找计算函数、转换函数、填充压缩函数、分割拼接函数、判定函数。
1.查找计算函数(len、find、rfind、 index、 rindex、count)
字符串的函数操作——查找计算。包括函数:len、find、rfind、 index、 rindex、count。
其中,len是内建函数,可以直接使用;其他的属于对象方法,需要 对象.方法(参数)。
## 字符串的函数操作————查找计算
'''len find rfind index rindex count'''
name='wo shi sky'
# len函数---------------------------------------------------------------------------------
len(name)
"""
作用:计算字符串的个数
返回值:
整型
字符串的个数
"""
# find函数--------------------------------------------------------------------------------
num=name.find("s",3,9)
print(num)
# output :3
"""
作用:查找子串索引(下标)的位置
语法:find("sub",start=0 ,end=len(str))
参数:
参数一:sub 需要检索的字符串
参数二:开始查找的起始位置(包括),默认为0
参数三:结束查找的位置,不包括结束索引,默认为len(str)
返回值:
if找到: 指定索引、整型
if未找到: -1
"""
# rfind--------------------------------------------------------------------------------
num1=name.rfind("sub",3,9)
print(num1)
# output :-1
"""
作用用法同find
区别:
从右往左进行查找
"""
# index--------------------------------------------------------------------------------
num2=name.index('s',1,9)
print(num2)
# output :3
"""
作用:查找子串的索引位置
语法:num= 对象.index('sub',start: 0, end:len(str))
参数:
sub表示要查找的子字符串
start起始查找位置
end结束查找的位置
返回值:
if找到了:
指定索引、整型
if未找到:
异常
注意:从左向右进行查找,找到即停止
"""
# rindex--------------------------------------------------------------------------------
num3=name.rindex('s',1,9)
print(num3)
"""
作用:同index
区别:从右向左查找
"""
# output :7
# count--------------------------------------------------------------------------------
num4=name.count('s',1,9)
print(num4)
# output :2
"""
作用:计算子字符串出现的次数
语法:num= 对象.count('sub',start: 0, end:len(str))
参数:
sub表示要查找的子字符串
start起始查找位置
end结束查找的位置
返回值:
子字符串出现的个数
整型
"""
2.转换函数(replace 、capitalize、title 、lower 、upper)
字符串的函数操作——转换。函数包括:replace 、capitalize、title 、lower 、upper 。
上述方法都不改变原有字符串,使用时 对象.函数名。
‘’’
'''
replace 替换字符串片段;
capitalize 句子首字母大写
title 每个单词的首字母大写
lower 全部小写
upper 全部大写
上述方法都不改变原有字符串,使用时 对象.函数名
'''
# replace--------------------------------------------------------------------------------
'''
作用 使用给定的新字符串 替代 指定的旧字符串
语法 replace(old,new[,count]) 中括号代表可选的意思
其中,count表示被替换的个数,如果省略,表示全部替换
返回值 替换后的原始字符串
注意 不会改变源字符串本身
'''
name = "wo shi sky"
print(name.replace('s','t',1))
#output: wo thi sky
print(name)
#output: wo shi sky
# capitalize--------------------------------------------------------------------------------
'''
作用 将字符串的首字母大写
语法 capitalize()
参数 无
返回值 新字符串
注意 不会改变源字符串本身
'''
print(name.capitalize())
# output: Wo shi sky
# title--------------------------------------------------------------------------------
'''
作用 将字符串每个单词的首字母变成大写
语法 title()
参数 无
返回值 新字符串
注意 不会改变原字符串本身
'''
sentence = 'hhH wo shuo ni xiao&shen*m%n ?'
print(sentence.title())
# output: Hhh Wo Shuo Ni Xiao&Shen*M%N ?
print(sentence)
#lower upper--------------------------------------------------------------------------------
'''
作用 字符串的每个字符都变小写;字符串的每个字符都变大写
语法 lower() upper()
参数 无
返回值 新字符串
注意 不会改变原字符串
'''
print(sentence.upper())
# output:HHH WO SHUO NI XIAO&SHEN*M%N ?
print(sentence.lower())
# output: hhh wo shuo ni xiao&shen*m%n ?
3.填充压缩函数(ljust、 rjust、 center、 lstrip、 rstrip)
字符串的函数操作——填充压缩。函数包括:ljust、 rjust、 center、 lstrip、 rstrip。
填充函数还可以用于字符串对齐(向左对齐、向右对齐、居中)
'''ljust rjust center lstrip rstrip'''
#ljust rjust center--------------------------------------------------------------------------------
'''
语法 ljust(width,fillchar)
表示原字符串位于左侧(rjust表示原字符串在右,center表示原字符串在中间)
参数 width 指定结果字符串的长度
fillchar 当原字符串长度小于width时,填充的字符
输出 结果字符串
注意 不修改原字符串
填充字符串的长度为1
只有原字符串长度小于width时,才会进行填充
'''
name = 'ninnnn shi lxxxl'
print(name.ljust(20,'a'))
print(name.rjust(20,'a'))
print(name.center(21,'a'))
#output:
#ninnnn shi lxxxl****
#****ninnnn shi lxxxl
#***ninnnn shi lxxxl**
#lstrip、rstrip 去除左边的指定字符、去除右边的指定字符--------------------------------------------------------------------------------
'''
语法 lstrip(char)
移除左侧的指定字符
注意,char为两个字符时,分别移除,不是整体移除,直到遇见非char中元素时停止
'''
print(name.rstrip('l'))
#output:
#ninnnn shi lxxx
print(name.lstrip('in'))
#output:
# shi lxxxl
4.分割拼接(split 、 partition 、 rpartition 、splitlines 、join)
字符串的函数操作——分割拼接。函数包括:split 、 partition 、 rpartition 、splitlines 、join。
'''
split / partition / rpartition /splitlines /join
'''
# split-------------------------------------------------------------------------
sentence = 'wo- shi-jky'
ExampleSplit=sentence.split('-',1)
ExampleSplit2 = sentence.split()
print(ExampleSplit,ExampleSplit2)
#output:
#['wo', ' shi-jky'] ['wo-', 'shi-jky']
'''
作用:根据文本中指定字符进行分割(可指定次数),返回列表
参数:
sep(separator分隔符), maxsplit(最大分割次数)
sep 指定分隔符,不指定时为各种空格
maxsplit 默认-1,无限制; 限制次数,从左往右
返回:
列表,承载 分割后的元素
注意 不改变原字符串
'''
#partition ------------------------------------------------------------------------
ExamplePartition = sentence.partition('-')
ExampleRpartition = sentence.rpartition('-')
print(ExamplePartition,ExampleRpartition)
#output:
#('wo', '-', ' shi-jky') ('wo- shi', '-', 'jky')
'''
参数 : sep,从左往右找
返回值:
包含三个元素的元组,
分别为分割符左侧部分、分隔符、分隔符右侧部分
注意 不改变原字符串,
rpartition从右往左找
'''
#splitlines-------------------------------------------------------------------------
infor = 'wo \n shi \r jky'
ExampleSplitlines = infor.splitlines(True)
print(ExampleSplitlines)
# output:
# ['wo \n', ' shi \r', ' jky']
'''
参数: keppends是bool类型,默认False,即不返回换行符一类
返回: 根据 行边界 分割的列表
'''
#join-------------------------------------------------------------------------------
items = ['wo','shi','sky']
print('-'.join(items))
# output:
# wo-shi-sky
'''
作用: 根据指定字符串,对给定的可迭代对象,进行拼接,得到拼接后的字符串
参数: iterable可迭代对象(元组、列表、字符串等,即for可以遍历的)
返回:拼接好的字符串
'''
5.判定(isalpha、 isdigit、 isalnum、 isspace ;startswith 、endswith)
字符串的函数操作——判定。函数包括:isalpha、 isdigit、 isalnum、 isspace ;startswith 、endswith 。还有常规操作:in、not in。
'''
isalpha isdigit isalnum isspace
是否全部是字母 是否全是数字 是否全为字母或数字 是否全是空格(若为空,都为False)
startswith endswith 判断是否以指定字符开头/结尾
in / not in 是否包含指定字符串
'''
name='2025-01-01:某某报告.doc'
print(name.startswith('2025',0,4))
print(name.endswith('doc',16,19))
print('某某' in name)
#output:
#True
#True
#True
总结
以上就是Python字符串一般操作和函数操作。
字符串的操作很重要,比如爬虫数据的清洗过滤过程,实质上就是在对字符串进行各种操作。具体的用法不需要一开始就全部记的清清楚楚,大概了解有哪些功能和作用,在实践中遇到时能够快速的从中找到具体正确的用法即可。
作者:咕嘟咕嘟~