python 字符串方法总结

python 字符串方法总结,第1张

前言声明: 近期学习python技能树,学习到了关于字符串的许多方法,有的方法自己用的比较多,但是有的自己以前都没有用过,技能树不方便记录,想着方便查找,在这里做一笔记,作为归纳总结之用。
CSDN技能树原文地址:https://edu.csdn.net/skill/python/python-3-22?category=3

语法位置参数说明:string表示预处理字符串,[ ]表示为可选值,value表示必选值

一、字符查找类

1、string.find()
检测字符串是否包含特定字符,如果包含,则返回开始的索引;否则,返回-1

str = 'hello world'
# 'wo'在字符串中
print( str.find('wo') ) #得到下标6
# 'wc'不在字符串中
print( str.find('wc') ) #没找到,返回-1

2、string.index()
检测字符串是否包含指定字符,如果包含,则返回开始的索引值;否则,抛出异常,可以通过try ——except捕获异常对字符做出相应处理。

str = 'hello world'
# 'wo'在字符串中
print( str.index('wo') ) #得到下标6
# 'wc'不在字符串中
print( str.index('wc') ) #直接返回异常值:ValueError: substring not found

3、string.count(value,[start, end])
检测字符value在字符串string中出现的次数,中括号为可选值,start、end分别表示查找开始的下标和结束的下标,没有value时直接返回异常值

str = 'hello world'
# 'wo'在字符串中
print( str.count('o') ) #2
# 统计str中从第5+1个字母到最后一个字母中,字母l的个数
print( str.count('l', 5, len(str)) )
# 'wc'不在字符串中
print( str.index('python') ) #ValueError: substring not found

二、字符串替换

string1.replace(string2, [count])
将str1中的str1替换成str2,,count可选,如果指定count,则不超过count次,如果不指定,表示全部替换,可以通过这个方法轻松去掉空格

## replace()函数
print('=*'*10, 'replace()函数', '=*'*10)
str = 'hello world hello world'
str1 = 'world'
str2 = 'waltsmith'
# 将所有的str1替换为str2
print( str.replace(str1, str2) )
# 只将前1个str1替换为str2
print( str.replace(str1, str2, 1) )
## 输出:
##     hello waltsmith hello waltsmith
##     hello waltsmith hello world
三、字符串分割

string.split(value,[maxSplitNumber])
表示根据定界符分割所有能分割的;返回值为列表;
maxSplitNumber可选,默认值为-1,,如果 maxSplitNumber有指定值,则仅分割 maxSplitNumber 个子字符串;

四、去掉空格

string.strip()、string.lstrip()、string.rstrip()
分别表示:去掉字符串左右两边的空白字符;去掉左边空白字符、去掉右边空白字符

str13 = "   Hello Walt Smith   "
strs = str13.strip()
strl = str13.lstrip()
strr = str13.rstrip()
print(strs,len(strs),sep='\n字符串长度:')
print(strl,len(strl),sep='\n字符串长度:')
print(strr,len(strr),sep='\n字符串长度:')

## 输出:
# Hello Walt Smith
# 字符串长度:16
# Hello Walt Smith
# 字符串长度:19
#    Hello Walt Smith
# 字符串长度:19
五、字符串插入

string.join(iterable)
将iterable中每两个相邻元素中间插入字符串string,返回形成的新的字符串;

## join()函数
str15 = "walt"
print(str15.join("ABC"))
iterable = ['YOU', 'THEY', 'WE']
print(str15.join(iterable))
## 输出:
##     AwaltBwaltC
##     YOUwaltTHEYwaltWE
六、字符串内容判断

1、string.isspace()
如果字符串string中只包含空格,则返回True;否则,返回False;

## isspace()函数
str16 = " t "
print(str16.isspace())
## 输出:
##     False

2、string.isdigit()
如果字符串string中只包含数字,则返回True;否则,返回False;

## isspace()函数
str16 = "1111"
print(str16.isspace())
## 输出:
##     true

1、string.isspace()
如果字符串string中只包含字母,则返回True;否则,返回False;

## isspace()函数
str16 = "teaf"
print(str16.isspace())
## 输出:
##     true
七、其他方法(不常用)

1、string.capitalize()
将字符串的首字母大写,其余字母全部小写

## capitalize()函数
str4 = 'I aM waLt smith'
# 字符串的首字母大写,其余字母全部小写
print(str4.capitalize())#     I am walt smith

2、string.title()
将字符串中的所有单词的首字母大写,其余字母全部小写;
值得注意的是,这里单词的区分是以任何标点符号区分的,即,标点符号的前后都是一个独立的单词,字符串最后一个标点除外

## title()函数
# 正常字符串的转换
str5 = "I am walt smith!"
print(str5.title())
## 输出:
##     I Am Walt Smith!
# 字符中包含标点符号
str6 = "I'm walt-sMith!"
print(str6.title())#    I'M Walt-Smith!

3、string.startswith(string1)
检查字符串str是否 以字符串str1开头,若是,则返回True;否则,返回False

## startswith()函数
str8 = "Hello Walt Smith"
print(str8.startswith("Hello"))#    True

4、string.lower()
将字符串的所有字母转换为小写

str10 = "Hello Walt Smith"
print(str10.lower())#hello walt smith

5、string.upper()
将字符串的所有字母转换为大写

str10 = "Hello Walt Smith"
print(str10.lower())# HELLO WALT SMITH

6、string.endswith(string1)
检查字符串str是否 以字符串str1结尾,若是,则返回True;否则,返回False

str9 = "Hello Walt Smith"
print(str9.endswith("Smith"))#     True

7、string.ljust(value)、string.rjust(value)、string.center(value)
string.ljust(len)将字符串左对齐,string.rjust(len)将字符串右对齐,string.center(len)将字符串居中,并使用空格填充至指定长度len

## ljust()函数
str10 = "Hello Walt Smith"
print("str10的原长度为%d" % (len(str10)))
print("str10处理后的长度为%d" % (len(str10.ljust(20))))
## 输出:
##     str10的原长度为16  
##     str10处理后的长度为20

## rjust()函数
print(str10.rjust(20))
print("str10的原长度为%d" % (len(str10)))
print("str10处理后的长度为%d" % (len(str10.ljust(20))))
## 输出:
##     ☐☐☐☐Hello Walt Smith
##     str10的原长度为16
##     str10处理后的长度为20
## center()函数
print(str10.center(20))
print("st12的原长度为%d" % (len(str10)))
print("str12处理后的长度为%d" % (len(str10.center(20))))
## 输出:
##     ☐☐Hello Walt Smith☐☐
##     str10的原长度为16
##     str10处理后的长度为20

8、string.partition(string1)
根据string中的第一个string1,将字符串string分割为string1之前,string1和string1之后三个部分;若string1不存在,则将string作为第一部分,后面两个元素为空;返回元组;

## partition()函数
str14 = "Are you believe in yourself?"
# "yourself"在字符串中
print(str14.partition("yourself"))
# "you"在字符串中有两个
print(str14.partition("you"))
# "walt"不在字符串中
print(str14.partition("walt"))
## 输出:
##     ('Are you believe in ', 'yourself', '?')
##     ('Are ', 'you', ' believe in yourself?')
##     ('Are you believe in yourself?', '', '')

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/714946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存