python17 字符串的常用操作

字符串常用方法

代码

'''
字符串常用方法
'''
s = 'i am SyLar, I LOVE YOU'
s1 = s.capitalize()# 首字母变成大写
print(s1)
s2=s.lower() # 全部变成小写
print(s2)
s3= s.upper()#全部变成大写 忽略大小写 推荐用这个
print(s3)title = 'abc_def_hi'
print('标题:',title.title())s4 = 'HelloWorld'
print(f'转大写:{s4.upper()}')
print(f'转小写:{s4.lower()}')
# 字符串分隔
e_mail = 'cjh@163.com'
lst = e_mail.split('@')
print(f'字符串分隔-》邮箱名:{lst[0]},服务器域名:{lst[1]}')# 字符串统计
print(f'字符串统计:{s4.count('o')}')# 查找,检索操作
print(f'0在字符串中首次出现的位置(索引):{s4.find('o')}')
# 查找不存在的字符,返回-1,和index()的区别是index()没有找到会报错
print(f'p在字符串中首次出现的位置(索引):{s4.find('p')}')# 判断前缀和后缀
# 方便用于检查前缀和后缀,判断类型
print("StringTest.py".endswith('py'))
print("StringTest.txt".endswith('txt'))#判断是否是文本文件print(f'是以H开头吗?{s4.startswith('H')}')
print(f'是以P开头吗?{s4.startswith('P')}')# 替换 replace的最后一个参数是替换次数,默认全部替换
new_s = s4.replace('o','你好')
print(f'替换:{new_s}')
# 替换一次
new_s = s4.replace('o','你好',1)
print(f'替换1:{new_s}')
# 字符串在指定的宽度范围内居中
print(s4.center(20))
# 指定填充字符
print(s4.center(20,"*"))# 去掉空格
s5 = "   Hello World   "
# 去掉左右空格
print(f'去掉左右空格:{s5.strip()}')
# 去掉左空格
print(f'去掉左空格:{s5.lstrip()}')
# 去掉右空格
print(f'去掉右空格:{s5.rstrip()}')
# 去掉指定的字符
s6 = 'dl-Helloworld'
print(f'去掉指定的字符:{s6.strip('ld')}')#与顺序无关,一个字符一个符去删除的,并不是以ld为一个整体去删除的
print(f'去掉指定的字符->左:{s6.lstrip('ld')}')
print(f'去掉指定的字符->右:{s6.rstrip('ld')}')# 格式化字符串
# 占位符 %s:字符串格式,%d:十进制整数格式,%f:浮点数格式
name = "stevenChen"
age = 18
score = 98.5
print('占位符->姓名:%s,年龄:%d,成绩:%f' % (name,age,score))
print('占位符->姓名:%s,年龄:%d,成绩:%.1f' % (name,age,score))#%.1f表示保留1位小数
# f-string 3.6所引入的格式化 {}
print(f'f-string->姓名:{name},年龄:{age},成绩:{score}')
# str.format(逗号分隔的参数)方法
print('format->姓名:{0},年龄:{1},成绩:{2}'.format(name,age,score))# format详细格式控制
s7 = "helloworld"
print('{0:*<20}'.format(s7))#字符串的显示宽度为20,左对齐,空白部分使用*号填充
print('{0:*>20}'.format(s7))#字符串的显示宽度为20,右对齐,空白部分使用*号填充
print('{0:*^20}'.format(s7))#字符串的显示宽度为20,居中对齐,空白部分使用*号填充
print(s7.center(20,"*"))# 千位分隔符(只适用于整数和浮点数)
print('千位分隔符_整数:{0:,}'.format(987654321))
print('千位分隔符_浮点数:{0:,}'.format(987654321.7865))
# 浮点数小数部分的精度
#%.1f表示保留1位小数
print('{0:.1f}'.format(3.1415926))
#%.2f表示保留2位小数
print('{0:.2f}'.format(3.1415926))
#%.4f表示保留4位小数
print('{0:.4f}'.format(3.1415926))# 字符串类型 .表示最大的显示长度
# 最大显示5个字符
print('{0:.5}'.format('helloworld'))
# 整数类型
num = 425
print('二进制:{0:b},十进制:{0:d},八进制:{0:o},十六进制:{0:x},十六进制:{0:X}'.format(num))
# 浮点数类型
num1 = 3.1415926
print('2位小数:{0:.2f},科学计数法:{0:.2E},:{0:.2e},百分比:{0:.2%}'.format(num1))# 字符串编码和解码 errors=strict/ignore/replace/       strict:严格,ignore:忽略,replace:替换
s10 = '伟大的中国梦'
# 编码 str->bytes
scode = s10.encode(errors='replace')#默认是utf-8,因为utf-8中文占3个字节
print(f'编码utf-8->{scode}')scode_gbk = s10.encode('gbk',errors='replace')#因为gbk中文占2个字节
print(f'编码gbk->{scode_gbk}')# 编码中出错问题
s11='耶✌︎︎'
scode1 = s11.encode('gbk',errors='ignore')#ignore:忽略
print(f'编码gbk编码中出错问题——忽略->{scode1}')
# 编不了用?问号替换
scode_gbk_1 = s11.encode('gbk',errors='replace')#replace:替换
print(f'编码gbk编码中出错问题——替换->{scode_gbk_1}')
#编不了会报错:UnicodeEncodeError: 'gbk' codec can't encode character '\u270c' in position 1: illegal multibyte sequence
# scode2 = s11.encode('gbk',errors='strict')#strict:严格
# print(f'编码gbk编码中出错问题2——严格->{scode2}')# 解码 bytes->str
print(f'解码utf_8:{bytes.decode(scode,'utf-8')}')
print(f'解码gbk:{bytes.decode(scode_gbk,'gbk')}')# 数据的验证
# 所有的字符是否都是数字(只能是阿拉伯数字)
print(f'所有的字符是否都是数字(只能是阿拉伯数字):{'123'.isdigit()}')# True
print(f'所有的字符是否都是数字(只能是阿拉伯数字):{'一二三'.isdigit()}')# False
print(f'所有的字符是否都是数字(只能是阿拉伯数字):{'0b1010'.isdigit()}')# False
print(f'所有的字符是否都是数字(只能是阿拉伯数字)_罗马数字:{'ⅠⅡⅢⅣⅤ'.isdigit()}')#罗马数字# False
print('_'*50)
# 所有字符都是数字
print(f'所有字符都是数字:{'123'.isnumeric()}')# True
print(f'所有字符都是数字:{'一二三'.isnumeric()}')# True
print(f'所有字符都是数字:{'0b1010'.isnumeric()}')# False
print(f'所有字符都是数字_罗马数字:{'ⅠⅡⅢⅣⅤ'.isnumeric()}')#罗马数字 # True
print(f'所有字符都是数字_人民币:{'壹贰叁肆'.isnumeric()}')#人民币# True
print('_'*50)
# 所有字符都是字母(包括中文字符)
print(f'所有字符都是字母(包括中文字符):{'hello你好'.isalpha()}')#True
print(f'所有字符都是字母(包括中文字符):{'hello你好123'.isalpha()}')# False
print(f'所有字符都是字母(包括中文字符):{'hello你好一二三'.isalpha()}')#True
print(f'所有字符都是字母(包括中文字符):{'hello你好ⅠⅡⅢⅣⅤ'.isalpha()}')# False
print(f'所有字符都是字母(包括中文字符):{'hello你好壹贰叁肆'.isalpha()}')# True
print('_'*50)
# 所有字符都是数字或字母
print(f'所有字符都是数字或字母:{'hello你好'.isalnum()}')#True
print(f'所有字符都是数字或字母:{'hello你好123'.isalnum()}')#True
print(f'所有字符都是数字或字母:{'hello你好一二三'.isalnum()}')#True
print(f'所有字符都是数字或字母:{'hello你好ⅠⅡⅢⅣⅤ'.isalnum()}')#True
print(f'所有字符都是数字或字母:{'hello你好壹贰叁肆'.isalnum()}')# True
print('_'*50)
print('判断字符的大小写')
# 判断字符的大小写,注意:中文又是大写也是小写
print('HelloWorld'.islower())#False
print('helloworld'.islower())#True
print('hello你好'.islower())#True
print('_'*50)
print('HelloWorld'.isupper())#False
print('HELLOWORLD'.isupper())#True
print('HELLO你好'.isupper())#True
print('_'*50)
print('判断首字母是否大写')
# 判断首字母是否大写
print('Hello'.istitle())#True
print('HelloWorld'.istitle())#False
print('Helloworld'.istitle())#True
print('Hello World'.istitle())#True
print('Hello world'.istitle())#False
print('_'*50)
# 判断是否是空白字符
print('判断是否是空白字符')
print('\t'.isspace())#true
print(' '.isspace())#true
print('\n'.isspace())#true

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SwitchHosts 简明教程

转载请标明出处&#xff1a;https://blog.csdn.net/donkor_/article/details/139743047 文章目录 一、SwitchHosts 是什么二、功能特性三、安装四、使用4.1 本地添加host4.2 本地127.0.0.1添加指定IP 五、修改 hosts 后不生效 一、SwitchHosts 是什么 SwitchHosts 是一个管理 …

以太网基础知识(三)—FEC概念以及编码原理介绍

1&#xff1a;前言 KR4(528,514) FEC表示的意思&#xff1a; KR4 RS(528,514) FEC 是一种以太网中使用的FEC&#xff08;Forward Error Correction&#xff09;编码方案。在这个方案中&#xff0c;采用的是Reed-Solomon (RS) 编码算法&#xff0c;它被设计用于提高数据传输的…

考试系统提供源码能做什么?

考试系统提供源码&#xff0c;无疑为现代教育领域注入了新的活力。源码&#xff0c;作为软件开发的基石&#xff0c;其开放与共享的特性使得考试系统具备了前所未有的灵活性和可定制性。那么&#xff0c;考试系统提供源码究竟能做什么呢&#xff1f;本文将详细探讨其多重功能与…

初识数据库及Mysql安装管理

初识数据库及Mysql安装管理 了解数据库数据库的概念数据库的分类关系型数据库&#xff08;SQL&#xff09;非关系型的数据库&#xff08;NoSQL&#xff09; SQL语句SQL语言分类&#xff1a; MySQL中6种常见的约束&#xff1a; Mysql安装&#xff08;CentOS7&#xff09;源码编译…

AI应用中心:搭建上线了,发现出色的人工智能的网站软件

https://aiapp.ai-51.com 1w 个最佳人工智能应用和服务 AI 应用中心拥有丰富的国内外 AI 应用&#xff0c;收录了超过 1w 个出色的人工智能网站和应用&#xff0c;覆盖了 40 多个不同的领域&#xff0c;如 Ai 绘画生成、Ai 文案写作、Ai 视频编辑、Ai 智能营销等。您可以通过我…

LeetCode347:前K个高频元素

题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 解题思想 使用优先队列 priority_queue<Type, Container, Functional> Type 就是数据类型&#xff0c;Container 就是容器类型&#xff08;C…

移动操作系统更新管理

移动操作系统更新管理是大多数移动设备管理&#xff08;MDM&#xff09;解决方案中提供的一项功能&#xff0c;它允许组织管理移动设备上的操作系统更新。MDM解决方案定期扫描设备以检查可用的移动操作系统更新&#xff0c;并根据配置的策略管理操作系统更新。操作系统更新管理…

c++初始化列表(特点),隐式类型转换(示例,explicit关键字)

目录 初始化列表 定义 特点 必须使用初始化列表的成员变量 初始化顺序 隐式类型转换 示例 explicit关键字 初始化列表 Date::Date(const Date& d) {_year d._year;_month d._month;_day d._day; }Date::Date(const Date& d) :_year(d._year),_month(d._mon…

Salesforce‘s 爱因斯坦机器人助手引领工业聊天机器人时代

CRM的对话式人工智能助手&#xff0c;根据公司数据提供可靠的人工智能响应及日本工业聊天机器人现状 【前言】 爱因斯坦助手&#xff08;Einstein Copilot&#xff09;提供可靠的响应&#xff0c;因为它基于公司独特的数据和元数据&#xff0c;使其能够深入了解公司的业务和客…

linux日志管理之journalctl命令

一、日志查询 1.输出所有日志或按相关要求输出 输出所有日志 #journalctl查看实时日志 #journalctl -f查看最后n行 #journalctl -n 10不分页显示 #journalctl --no-pager适合阅读模式 #journalctl -p 3 -o json-pretty 查看内核日志 #journalctl -k 2.按服务查询 #journal…

LLoCO技术:突破大型语言模型处理长文本的局限

在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;虽然在众多任务上展现出了卓越的能力&#xff0c;但在处理长文本上下文时却遭遇了瓶颈。由于自注意力机制导致的计算和内存开销随序列长度呈二次方增长&#xff0c;使得这些模型在面对长文本时力不从心…

[Qt的学习日常]--常用控件2

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、widget的…

《STM32 HAL库》RCC 相关系列函数详尽解析—— HAL_RCC_OscConfig()

观前提示&#xff1a;函数完整代码在文末&#xff0c;本文梳理了函数HAL_RCC_OscConfig()的主要逻辑和实现方法f105时钟树详解图 HAL_RCC_OscConfig() 函数介绍&#xff1a; 此函数是一个用于初始化RCC&#xff08;Reset and Clock Control&#xff09;振荡器&#xff08;Osc…

【JAVA】SpringBoot + skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上

【JAVA】SpringBoot skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上 1.下载SkyWalking APM https://skywalking.apache.org/downloads/ jdk8 不支持 SkyWalking APM 9.3.0以上版本&#xff0c;所以这里我们下载 9.3.0版本 2.下载 Java Agent …

GPT_AI高速发展中什么是Prompt提示词?

提示词&#xff08;Prompt&#xff09;是给大语言模型&#xff08;以下简称模型&#xff09;的输入文本&#xff0c;用于指定模型应该执行什么样的任务并生成什么样的输出。 提示词发挥了“提示” 模型 应该做什么的作用。设计高质量的提示词需要根据目标任务和模型能力进行精…

vscode 终端无法正常执行脚本命令如何解决

我们经常需要在vscode的中安装第三方依赖包&#xff0c;npm是前端目前最大的Node.js模块化管理系统&#xff0c;它能帮助开发者管理和发布Node.js模块。但很多时候我们在vscode的终端中执行npm install命令时经常会报以下错误&#xff1a; 但是在Windows的cmd命令提示符中执行n…

JavaScript妙笔生花:打造沉浸式中国象棋游戏体验

前言 随着信息技术的飞速发展&#xff0c;Web开发领域也出现了翻天覆地的变化。JavaScript作为前端开发中不可或缺的编程语言&#xff0c;其重要性不言而喻。而当我们谈论到利用JavaScript打造一款沉浸式的中国象棋游戏体验时&#xff0c;我们不仅仅是在开发一个游戏&#xff0…

微信分销商城小程序源码系统在线搭建 前后端分离 带完整的安装代码包以及搭建教程

系统概述 本微信分销商城小程序源码系统采用先进的前后端分离架构设计&#xff0c;前端使用Vue.js框架开发&#xff0c;后端则基于Spring Boot构建&#xff0c;确保了系统的高可维护性、扩展性和性能。系统集商品展示、在线交易、会员管理、分销推广、订单处理、数据统计等功能…

AIoT设备新一代高性能处理器瑞芯微RK3576,东胜物联RK3588等核心板定制开发

随着物联网、人工智能和嵌入式技术的不断发展&#xff0c;智能设备应用对芯片处理器的性能需求越来越高&#xff0c;以满足复杂的数据处理需求、实时性要求、复杂的算法运算和多任务处理能力。高性能的芯片可以为智能设备提供更强大的计算能力和更快速的响应速度&#xff0c;从…

Camtasia Studio 2024软件下载附加详细安装教程

amtasia Studio 2024是一款功能强大的屏幕录制和视频编辑软件&#xff0c;由TechSmith公司开发。这款软件不仅能够帮助用户轻松地记录电脑屏幕上的任何操作&#xff0c;还可以将录制的视频进行专业的编辑和制作&#xff0c;最终输出高质量的视频教程、演示文稿、培训课程等。 …