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;源码编译…

dialog弹窗显示不全

弹框显示不全&#xff0c;编辑框不可见 打开可编辑的dialog对话框后&#xff0c;编辑view获取到焦点弹出软键盘输入时&#xff0c;由于屏幕分辨率和屏幕高度问题&#xff0c;导致软键盘高度太高向上挤压dialog对话框&#xff0c;当dialog对话框被向上挤压到状态栏位置时&#…

接手一个系统并快速入手 这里是一些建议

接手一个陈旧而极其重要的系统&#xff0c;需要系统性和全面的了解。以下是你可以从多个方面入手的步骤和建议&#xff1a; 1. 文档和架构图 系统架构图&#xff1a;了解系统的整体架构&#xff0c;包括各个微服务的分布、上下游依赖关系、数据流向等。接口文档&#xff1a;获…

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…

C++互斥代码实现

1 #include <windows.h>HANDLE hMutex; hMutex CreateMutex(NULL, FALSE, NULL); WaitForSingleObject(hMutex, INFINITE); //TODO: 添加互斥代码ReleaseMutex(hMutex);2 #include <mutex>std::mutex m_mutex; m_mutex.lock(); //TODO: 添加互斥代码m_mutex.unl…

移动操作系统更新管理

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

【ubuntu22.04】切换图形界面和命令行界面解决方案

切换命令行 sudo systemctl set-default multi-user.target sudo reboot 安装驱动 # 切换到驱动目录 cd /home/user/download/ # 权限 sudo chmod ax NVIDIA-Linux-x86_64-520.56.06.run # 安装 sudo ./NVIDIA-Linux-x86_64-520.56.06.run 安装过程中&#xff0c;有个是否安…

QBrush的setColor函数不能改变画刷颜色的原因及解决方法

如下代码&#xff1a; void QtWidgetsApplication1::paintEvent(QPaintEvent* event) {QPainter p(this);QBrush brush;brush.setColor(Qt::red);p.setBrush(brush);p.drawRect(10, 10, 300, 100); } 本意是想绘制一个红色矩形&#xff0c;但结果是矩形没有被红色填充&#x…

消息队列中的可靠性保障:关键建议与实践

在线工具站 推荐一个程序员在线工具站&#xff1a;程序员常用工具&#xff08;http://cxytools.com&#xff09;&#xff0c;有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具&#xff0c;效率加倍嘎嘎好用。 程序员资料站 推荐一个程序员编程资料站&#xff1a;…

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;使其能够深入了解公司的业务和客…

第一节 初识Redis

1. 概述 Redis是一个开源的、使用ANSI C语言编写的Key-Value存储系统。Redis的官方名称为Remote Dictionary Server&#xff08;远程字典服务&#xff09;&#xff0c;它提供了多种语言的API&#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…

前端开发之TCP与UDP

上一篇&#x1f449;: 前端开发之性能优化 TCP与UDP 三次握手 1. 初始状态&#xff1a; 客户端开始时处于CLOSED状态&#xff0c;表明没有活动的连接。服务器监听特定端口&#xff0c;处于LISTEN状态&#xff0c;等待连接请求。 2. 第一次握手&#xff08;SYN_SENT状态&am…

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

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

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

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