Python字符串常用操作

Posted mb5c7bb57d7f7e8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python字符串常用操作相关的知识,希望对你有一定的参考价值。

字符串索引及切片

#字符串索引是从做到右,从0开始,从右往左是从 -1开始
msg = "我在学习Python"
print (msg[2])      #输出索引为2的字符
print (msg[0:5])      #输出索引从0到5的字符,不含5
print (msg[0:5:2])       #输出索引从0到5的字符,且步长为2
print (msg[1:-1])          #输出索引从1到最后一个字符的内容,不包括最后一个字符
print (msg[-1:-5:-1])         #输出从最后一个到倒数第四个字符,倒数要求一定要加步长

输出结果如下:

upper 、lower英文字母大小写转换

demo = "AAAA开心的一天BBBB"
print (demo.upper())       # 英文字母都转换为大写
print (demo.lower())       # 英文字母都转换为小写

输出结果如下:

Split 以指定字符分隔

str.split(sep) 能够根据sep分隔字符串str。str不是必须的,默认为空格分隔,sep可以是单个字符,也可以是一个字符串,分隔后的内容以列表类型返回。

str = \'Python is an excellent language\'
print (str.split())
print (str.split(\'a\'))
print (str.split(\'an\'))

输出结果如下:

count 判断某个字符共出现了几次

str = \'Python is an excellent language\'
print (str.count(\'a\'))
print (str.count(\'an\'))
print (str.count(\' \'))

输出结果如下:

replace替换字符串

th = "今天是2021.8.25号,今天我要学Python"
print (th.replace(\'今天\',\'明天\'))
print (th.replace(\'今天\',\'明天\',1)) #替换1次
print (th.replace(\'2021.\',\'\'))  #也可以使用replace()方法去掉字符串中的特定字符或字符串

输出结果如下:

center返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

语法:str.center(width[, fillchar])

demo = \'Hello,World\'
print (demo.center(13,\'^\'))
print (demo.center(20,\'*\'))

输出结果如下:

strip去除指定字符

语法:str.strip([chars]);

demo = "  ==Python=="
print (demo.strip(\' \'))
print (demo.strip(\'=\')) #注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
demo1 = \'left.txt\'
print (demo1.strip(\'left\')) 
print (demo1.strip(\'deft\'))#只要首尾两端的字符在 chars 之内,就会被删除,直到遇到第一个不在 chars 内的字符

输出结果如下:

join 拼接字符

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:str.join(sequence)

a = " "
print(a.join(\'Python\')) #以空格拼接字符串
b = "|"
print (b.join(\'123456\'))
c =  "|"
print (c.join([\'1\',\'2\',\'3\']))

输出结果如下:

format格式化输出

#format 函数可以接受不限个参数,位置可以不按顺序。
print (\'{} {}\'.format(\'Hello\',"World")) #不设置指定位置,按默认顺序
print (\'{1} {0}\'.format(\'Hello\',"World")) #设置指定位置
print (\'{1} {0} {0}\'.format(\'Hello\',\'World\')) #设定指定位置
# 也可以设置参数
print("我叫{name},今年{age}".format(name = \'小明\', age = \'八岁半\'))
#通过字典设置参数
a = {"name":\'小明\',\'age\':\'8岁\'}
print ("我叫{name},今年{age}".format(**a))
#通过列表索引设置参数
my_list = ["小明","8岁"]
print ("我叫{0[0]},今年{0[1]}".format(my_list))# "0" 是必须的

输出结果如下:

新特性— f 格式化输出

优点:

结构更加简化
可以结合表达式,函数进行使用
效率提升很多

# 可以这样写,更直观
name = \'张三\'
age = 18
print(f\'我叫{name},今年{age}岁。\')

# 也可以使用表达式,调用字典、列表等元素
my_info = {\'name\': \'张三\', \'age\': 18}
print(f\'我叫{my_info.get("name")},今年{my_info.get("age")}岁。\')

is 判断字符串由什么组成

demo = \'test123\'
print (demo.isalpha())      # 字符串是否由纯字母组成
print (demo.isalnum())      # 字符串是否由字符串或数字组成
print (demo.isdecimal())    # 字符串是否由纯十进制数组成

输出结果如下:

# isdecimal使用示例:
s1 = input(\'请输入金额:\')
if s1.isdecimal():
    print(\'你输入的金额为:\', s1, \'元!\')
else:
    print(\'请输入正确金额!\')

startswith、endswith 判断是否以某个字符开始或结尾

demo = \'woshihaonanhai真棒tt555\'
print (demo.startswith(\'w\'))# startswith :判断是否以什么字符开头
print (demo.startswith(\'wo\'))
print (demo.startswith(\'wO\'))
print (demo.startswith(\'h\',3)) #判断索引为3的字符是不是h
# endswith:判断是否以某个字符结尾
print (demo.endswith(\'5\'))


-------------本文结束感谢您的阅读-------------

以上是关于Python字符串常用操作的主要内容,如果未能解决你的问题,请参考以下文章

[Python]常用代码块

21个常用代码片段

python常用代码

记录C#常用的代码片段

初识python: 常用字符串操作

python常用操作之使用多个界定符(分隔符)分割字符串