百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Python学习(十)字符串的常用操作详解「Ⅱ」

bigegpt 2024-10-10 04:35 60 浏览

字符串的查询操作

new_str = 'hello,hello,python'
print('使用index()方法查询返回结果',new_str.index('lo'))  # 使用index()方法查询返回结果 3
print('使用find()方法查询返回结果',new_str.find('lo'))  # 使用find()方法查询返回结果 3
print('使用rindex()方法查询返回结果',new_str.rindex('lo'))  # 使用rindex()方法查询返回结果 9
print('使用rfind()方法查询返回结果',new_str.rfind('lo'))  # 使用rfind()方法查询返回结果 9

# 查找不存在的值时
# print('使用index()方法查询返回结果',new_str.index('k')) # ValueError: substring not found 未找到子字符串
print('使用find()方法查询返回结果',new_str.find('k')) # 使用find()方法查询返回结果 -1
# print('使用rindex()方法查询返回结果',new_str.rindex('k')) # ValueError: substring not found 未找到子字符串
print('使用rfind()方法查询返回结果',new_str.rfind('k')) # 使用rfind()方法查询返回结果 -1

字符串的大小写转换

# 将字符串全部转换为大写
new_str = 'hello,python,World'
s1 = new_str.upper()
print('字符串全部转换为大写',new_str.upper(),id(new_str.upper()),'\t',new_str,id(new_str))
# print('判断字符串是否全部为大写,True:满足条件;False:则不满足条件',new_str.isupper())

# 将字符串全部转换为小写
print('字符串全部转换为小写',s1.lower(),id(s1.lower()),'\t',s1,id(s1))
print('判断字符串是否全部为小写,True:满足条件;False:则不满足条件',new_str.islower())

# 将字符串大小写互相转换
print('字符串大小写转换后结果为:',new_str.swapcase())
print('字符串首字母转换为大写:',new_str.title())

字符串内容如何对齐?

new_str = 'hello,Python'
# 设置字符串居中对齐 center([参数1:指定宽度,宽度小于等于原字符串宽度时则返回原字符串],[参数2:指定填充符,可选,默认为空格])
print('使用center()方法设置字符串居中对齐',new_str.center(20,'*'))
# 设置左对齐 ljust([参数1:指定宽度,宽度小于原字符串宽度时则返回原字符串],[参数2:指定填充符,可选,默认为空格])
print('使用ljust()方法设置字符串左对齐',new_str.ljust(20,'*'))
# 设置右对齐 rjust([参数1:指定宽度,宽度小于等于原字符串宽度时则返回原字符串],[参数2:指定填充符,可选,默认为空格])
print('使用rjust()方法设置字符串右对齐',new_str.rjust(20,'*'))
# 设置右对齐 zfill([参数1:指定宽度,宽度小于等于原字符串宽度时则返回原字符串;左边用0填充])
print('使用zfill()方法设置字符串右对齐',new_str.zfill(20))

# 不常见的一些情况
print('字符串为一串负的数字','-8268'.zfill(8)) # 字符串为一串负的数字 -0008268

字符串常用的分割方法

new_str = 'hello world Python'
# 使用 split()方法分割字符串,从左边依次分割(默认以字符串之间的空格为分割点),返回值是一个列表
print('使用split()方法分割字符串',new_str.split())

new_str = 'hello&world&Python'
# 使用 split(sep=)方法分割字符串,从左边依次分割(sep='指定分割字符串的参数'),返回值是一个列表
print('使用split(sep=)方法分割字符串',new_str.split(sep='&'))


''' 使用 split(sep=,maxsplit=)方法分割字符串,从左边依次分割
(sep='指定分割字符串的参数',maxsplit='指定最大分割次数,指定次数未分割完的字符串会单独作为一部分'),返回值是一个列表 '''
print('使用 split(sep=,maxsplit=)方法分割字符串',new_str.split(sep='&',maxsplit=1))  # ['hello', 'world&Python']

''' 使用 rsplit(sep=,maxsplit=)方法分割字符串,从右边依次分割
(sep='指定分割字符串的参数',maxsplit='指定最大分割次数,指定次数未分割完的字符串会单独作为一部分'),返回值是一个列表 '''
print('使用 rsplit(sep=,maxsplit=)方法分割字符串',new_str.rsplit(sep='&',maxsplit=1))  # ['hello&world', 'Python']

字符串的常用判断方法

new_str = 'hellp,Python'
# 判断指定的字符串是否为合法的标识符 (True:合法;False:非法)[合法标识符:字母、数字、下划线]
print('1.',new_str.isidentifier())  # False
print('2.','hello'.isidentifier())  # True
print('3.','张三_'.isidentifier())  # True
print('4.','张三_123'.isidentifier())  # True
print('--------------------------------------------------------------------')
# 判断指定的字符串是否全部由空白字符组成 (True:是;False:否)[空白字符:回车、换行、水平制表符]
print('5.','\t'.isspace())  # True
print('--------------------------------------------------------------------')
# 判断指定的字符串是否全部由字母组成 (True:是;False:否)
print('6.','abc'.isalpha())  # True
print('7.','张三'.isalpha())  # True
print('8.','张三123'.isalpha())  # False
print('--------------------------------------------------------------------')
# 判断指定的字符串是否全部由十进制的数字组成 (True:是;False:否)
print('9.','123'.isdecimal())  # True
print('10.','123四'.isdecimal())  # False
print('11.','ⅡⅡⅡ'.isdecimal())  # False
print('--------------------------------------------------------------------')
# 判断指定的字符串是否全部由数字组成 (True:是;False:否)
print('12.','123'.isnumeric())  # True
print('13.','123四'.isnumeric())  # True
print('14.','ⅡⅡⅡ'.isnumeric())  # False
print('--------------------------------------------------------------------')
# 判断指定的字符串是否全部由字母和数字组成 (True:是;False:否)
print('15.','123a'.isalnum())  # True
print('16.','123张三'.isalnum())  # True
print('17.','abc!'.isalnum())  # False

字符串的替换与合并

new_str = 'hello,Python,Python,Python'
# 使用 .replace('参数1','参数2')方法替换字符串 [参数1:指定被替换的子串,参数2:指定替换子串的字符串] 返回替换后得到的字符串
print('使用 .replace()方法替换字符串',new_str.replace('Python','Java'))
# 使用 .replace('参数1','参数2','参数3')方法替换字符串 [参数1:指定被替换的子串,参数2:指定替换子串的字符串,参数3:指定最大替换次数]
print('使用 .replace()方法替换字符串',new_str.replace('Python','Java',2))

# 使用 .join()方法将元祖或列表中的字符串合并成一个字符串
new_lst = ['hello','Python','Java']  # 列表
print('拼接列表字符串','|'.join(new_lst),'\t',''.join(new_lst))  # hello|Python|Java 	 helloPythonJava
new_tuple = ('hello','Python','Java')  # 元组
print('拼接元组字符串','|'.join(new_lst),'\t',''.join(new_lst))  # hello|Python|Java 	 helloPythonJava
print('直接拼接具体的字符串','*'.join('Python'))  # P*y*t*h*o*n

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...