Python字符串相关方法汇总

字符串相关函数

类型

语法

实例

输出

备注

单词大小写相关

str.upper()

将字符串内的所有元素变成大写

test1=‘hello’

print(test1.upper())

HELLO

str.lower()

将字符串内的所有元素变成小写

test1='HELLO'

print(test1.lower())

hello

str.capitalize()

将字符串的首字母大写

test1='hello python'

print(test1.capitalize())

Hello python

str.title()

将字符串中的每个单词的首字母大写

str3='hellop ython lovey ou'

print(str3.title())

Hellop Ython Lovey Ou

*python根据字符串中的空格来判断是否是一个单词

str.swapcase()

将字符串中的大写和小写互换

str4=‘Hellop Ython Lovey Ou’

print(str4)

print(str4.swapcase())

Hellop Ython Lovey Ou

hELLOP yTHON lOVEY oU

统计相关

str.count(self,x,__start,__end)

x:要统计的元素(必传)

start:开始查询的索引,默认为None(参考切片)

end:结束查询的索引,默认为None(参考切片)

将传入的元素在字符串的指定位置区间内的出现次数统计出来,不传start和end时,默认范围为整个字符串

str1=‘hello python’

print(str1.count('h'))

2

str.find(self,sub,__start,__end)

sub:要寻找的元素(必传)

start:开始查询的索引,默认为None(参考切片)

end:结束查询的索引,默认为None(参考切片)

将传入的元素的索引位置返回出,如果传入的元素不存在于该字符串内,则返回-1

str1=‘hello python’

print(str1.find('h'))

0

1.find函数返回第一个匹配到的元素的索引位置,后面即使还有,也不会返回。

2.rfind函数返回最后一个匹配到的元素的索引位置。

3.find,rfind函数没有找到时会返回-1,index函数没有找到时会报错,所以为了程序可不中断的执行下去,一般会更倾向于用find和rfind。

str.rfind(self,sub,__start,__end)

函数用法及传参方式参考上面的函数,只是

str1=‘hello python’

print(str1.rfind('h'))

9

str.index(self,sub,__start,__end)

函数用法及传参方式参考find,不同点是如果传入的参数不在字符串中时,执行后会报错

str1=‘hello python’

print(str1.index('h'))

0

判断相关

str.isupper()

判断字符串中所有元素是否都是大写,是则返回true,有一个不是大写也返回false

str1=‘HELLO PYTHON’

str2=‘Hello python’

print(str1.isupper())

print(str2.isupper())

True

False

str.islower()

判断字符串中所有元素是否都是大写,是则返回true,有一个不是大写也返回false

str1=‘hello python’

str2=‘HELLO PYTHOn’

print(str1.islower())

print(str2.islower())

True

False

str.isalnum()

判断是否都是字母或者数字,返回布尔值

str1='python'

str2='12345'

str3='我不想上班'

print(str1.isalnum())

print(str2.isalnum())

print(str1.isalpha())

print(str3.isalpha())

True

True

True

True

str.isalpha()

判断是否都是字母或者汉字,返回布尔值

str.isdiglt()

判断是否都是数字(decimal),返回布尔值

str2='12345'

print(str2.isdigit())

True

常用于数据库断言

str.startswith(self,prefix,start,end)

prefix:待判断的开始的元素

判断字符串是否以指定的元素开始,返回布尔值

str1='python'

print(str1.startswith('p'))

print(str1.startswith('1'))

True

False

接口地址路径拼接时经常会用到

str.istitle()

判断字符串内每个单词首字母是否大写

按照空格来分割成单词

str1='I hate go to work!'

str2='I Hate Go To Work!'

print(str1.istitle())

print(str2.istitle())

False

True

str.isspace()

判断字符串是不是只有空格

str3=''

str4=' '

print(str3.isspace())

print(str4.isspace())

False

True

拆分

str.split(self,sep,maxsplit)

sep:拆分标记字符(按照哪个字符拆分),默认是通过空格

maxsplit:拆分次数,默认值为-1(表示不做限制);当传入该参数时,则从左到右拆分传入的相应次数后,停止拆分

将字符串按照指定的字符以及拆分次数拆分后,把结果放在list中返回

str2='I Hate Go To Work!'

print(str2.split(' ',2))

['I', 'Hate', 'Go To Work!']

返回的结果中会丢弃拆分标记字符

str.splitlines(self,keepends)

keepends:默认为False,如果设置为True,会保留换行符or回车符

按照换行符,回车符进行拆分字符串

str.1='hello\npython'

str.2='hello\rpython'

print(str1.splitlines())

print(str2.spiltlines())

print(str2.spiltlines(keepends=True))

['hello','python']

['hello','python']

['hello\r','python']

替换

str.replace()

old:要被替换的字符串

new:替换后的字符串

count:替换次数,默认全部替换;当传入该参数时,则从左到右替换传入的相应次数后,停止替换

将指定的字符串内的元素替换为传入的元素

str1='python hello'

print(str1.replace('python','java'))

java hello

字符串连接

str.join(self,iterable)

str1:要连接用的字符串

iterable:可迭代对象,传入要被连接的字符串;如列表,元组等只要是传入可迭代对象即可

str1='hellopython'

print('-'.join(str1))

h-e-l-l-o-p-y-t-h-o-n

去除空格

str.strip(self,chars)

chars:指定要去掉的字符

去掉字符串头尾的空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

str1='\nI hate go to work! '

str2='I Hate Go To Work!'

print(str2.strip('I'))

print(str1)

print(str1.strip())

没有空白符,或者没有指定的字符可以去除时,程序也不会报错。

str.lstrip(self,chars)

chars:指定要去掉的字符

去掉字符串最左边的空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

-

str.rstrip(self,chars)

chars:指定要去掉的字符

去掉字符串最右边的空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')

-

格式化输出

使用%占位符的形式

占位符:

%s---字符串占位符

%d---数值类型占位符

%f---小数类型占位符,默认保留6位小数

%.2f----取小数点后两位

%.3f----取小数点后三位,以此类推

name='慧慧'

age=25

str1='my name is %s,age is %s'%(name,age)

str2='my name is %s,age is %d'%(name,age)

str3='my name is %s,age is %f'%(name,age)

str4='my name is %s,age is %.2f'%(name,age)

print(str1)

print(str2)

print(str3)

print(str4)

my name is 慧慧,age is 25

my name is 慧慧,age is 25

my name is 慧慧,age is 25.000000

my name is 慧慧,age is 25.00

1.使用%s占位符,但传入的不是字符串时,python会自动给转换成字符串型

2.%d只支持传入数值类型,如果传入小数,会把小数部位去掉(强制类型转换);如果传入字符串类型,则会报错

format方式

占位符:{}

传值方式:

(1)位置传值

(2)索引传值

(3)关键字传值

name='慧慧'

age=25

位置传参:

str1='my name is {},age is {}'.format(name,age)

print(str1)

索引传参:

str2='my name is {1},age is {0}'.format(name,age)

print(str2)

关键字传参:

str3='my name is {name},age is {age}'.format(name=name,age=age)

print(str3)

my name is 慧慧,age is 25

my name is 25,age is 慧慧

my name is 慧慧,age is 25

f表达式

name='慧慧'

age=25

str1=f'my name is {name},age is {age}'

print(str1)

my name is 慧慧,age is 25

字符串倒序

reversed()

传入需要倒序的字符串,返回的是一个把序列值经过反转之后的迭代器,所以需要通过空字符串join的方法得到倒序后的字符串。

ss = "qwer1234" print(''.join(reversed(ss)))

4321rewq

用[::-1]的方式也可以实现倒序

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值