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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年第三届数据统计与分析竞赛(A题)数学建模完整思路+完整代码全解全析

本次A题主要涉及正态分布、数据处理、自然语言处理等知识点 问题一题目重述&#xff1a;根据附件中抖音用户的评论数据&#xff0c;对抖音 APP 的“评分”和“点赞数”进行数据统计与分析&#xff0c;并使用假设检验判断这两个指标的分布是否服从正态分布。 接下来对问题一进…

2024南京人工智能展览会:推动南京地区人工智能产业快速发展

南京&#xff0c;作为长三角地区的一颗璀璨明珠&#xff0c;近年来在人工智能产业的发展上取得了举世瞩目的成绩。这座城市以其深厚的科技底蕴和前瞻的战略眼光&#xff0c;正逐步成为国内外人工智能技术研发和应用的重要基地。 近年来&#xff0c;随着人工智能技术的快速发展…

纷享销客PaaS平台基础能力:一文说清 “业务定制能力”

01、业务对象定制能力 一个优秀的PaaS(平台即服务)平台的业务对象定制能力应该具备以下特点&#xff1a; 敏捷的业务模型&#xff1a; 能够根据用户的业务需求&#xff0c;提供可定制的数据模型和数据处理能力&#xff0c;支持各种数据类型和数据操作。 可视化的界面定制能力…

Nature 苏浩团队发表创新人工智能“仿真中学习”框架,实现外骨骼的智能性和通用性

北京时间2024年6月12日23时&#xff0c;美国北卡罗来纳州立大学与北卡罗来纳大学教堂山分校的苏浩团队在《自然》&#xff08;Nature&#xff09;上发表了一篇关于机器人和人工智能算法相结合服务人类的突破性研究论文&#xff0c;标题为“Experiment-free Exoskeleton Assista…

股票交易系统

效果展示&#xff0c;如下动图&#xff1a; 首先简述一下股票交易规则&#xff1a; 买卖股票&#xff0c;股民可以自行选择股票的买入或卖出价格和股票的数量&#xff0c;但是用户不一定马上就交易成功&#xff0c;只有当股票价格低于买入价才有机会买入&#xff0c;高于卖出价…

MS1112驱动开发(iio框架)

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…

期货交易中的仓位管理

期货市场就像是一个复杂的游戏场所。由于期货高杠杆双向交易机制的影响&#xff0c;期货交易中错误的容忍度很低&#xff0c;所以期货交易系统中最重要的是风险控制。而风险控制体系最核心的是仓位管理&#xff0c;因为仓位的多少直接影响到潜在损失的大小。 仓位管理指的是账户…

做好程序前设计

不要小看任何一道编程题目&#xff01;一定一定一定要想好之后再动手&#xff01;&#xff01;&#xff01; 带上你的草稿本&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xf…

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

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

Vue3中的常见组件通信之`provide`、`inject`

Vue3中的常见组件通信之provide、inject 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-mo…

大数据的力量:推动战略决策和业务转型

在当前全球化的时代背景下&#xff0c;国际间的联系日益紧密&#xff0c;世界变得更加互联互通。面对各种危机&#xff0c;数据驱动决策和分析显得愈发重要。从医学研究到市场趋势分析&#xff0c;大数据技术在各个领域发挥着关键作用&#xff0c;推动着一场深刻的变革浪潮。 大…

关于伪标头那些事

前言 看到伪标头&#xff0c;不少同学可能会比较陌生&#xff0c;因为谁让它默默无闻呢&#xff1f; 当然博主把它比喻为一个来自传输层的“共享盒子”。提到共享&#xff0c;我想大家有所体会了。这里给大家贴一张直观的图例&#xff0c;可以静静观摩之。 Q&#xff1a;什么是…

高端品牌网站建设

随着互联网的快速发展&#xff0c;越来越多的企业开始意识到高端品牌网站建设对于企业发展的重要性。高端品牌网站建设不仅是企业形象展示的窗口&#xff0c;更是与消费者进行有效沟通和互动的桥梁。下面从设计、内容和用户体验三个方面&#xff0c;探讨高端品牌网站建设的重要…

使用代理IP常见问题有哪些?

代理IP在互联网数据收集和业务开展中发挥着重要作用&#xff0c;它充当用户客户端和网站服务器之间的“屏障”&#xff0c;可以保护用户的真实IP地址&#xff0c;并允许用户通过不同的IP地址进行操作。然而&#xff0c;在使用代理IP的过程中&#xff0c;用户经常会遇到一些问题…

php遇到的问题

1、 underfined at line 3 in xxx.php , 错误提示&#xff0c;注释这行代码 // error_reporting(DEBUG ? E_ALL : 0); 目录&#xff1a;config/config.php

爆火的“植物大战僵尸杂交版” ‍♂️【附带安装包】

一、 杂交版植物引言 什么&#xff01;你不会还没听过最近爆火的 《植物大战僵尸杂交版》吧&#xff1f;&#xff01;&#xff1f;&#xff01; 下面这些植物你是否未曾见过&#xff0c;或者已经非常熟悉呢&#xff1f; 二、&#x1f331;&#x1f9df;‍♂️ **杂交版介绍** &…

探索C嘎嘎的奇妙世界:第三关---缺省参数与函数重载

在c语言中,我们常常在对有参函数进行传参,这样的繁琐过程,C祖师爷对此进行了相关改进,多说无益,上干货: 1 缺省参数: 缺省参数是指在声明或定义函数时为函数的形参指定一个默认值&#xff08;默认参数&#xff09;。在调用该函数时&#xff0c;如果没有指定实参&#xff0c;则…

2376.统计特殊整数

链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int countSpecialNumbers(int n) {if (n < 0) {return -1;}std::string str to_string(n);std::vector<std::vector&l…

东南亚短视频:四川鑫悦里文化传媒有限公司

东南亚短视频&#xff1a;探寻异域的魅力与风情 随着短视频平台的兴起&#xff0c;世界各地的风土人情得以通过屏幕展现在我们眼前。而东南亚&#xff0c;这片充满异域魅力的土地&#xff0c;更是成为了短视频创作者们争相探索的热门目的地。今天&#xff0c;就让四川鑫悦里文…

【源码】2024运营版多商户客服系统/在线客服系统/手机客服/PC软件客服端

带客服工作台pc软件源代码&#xff0c;系统支持第三方系统携带参数打开客服链接&#xff0c;例如用户名、uid、头像等 支持多商家&#xff08;多站点&#xff09;支持多商家&#xff08;多站点&#xff09;&#xff0c;每个注册用户为一个商家&#xff0c;每个商家可以添加多个…