Python中字符串常用的操作方法

在Python中,字符串是不可变序列类型,提供了丰富的内置方法。以下是常用的字符串操作方法及示例:

1. 大小写转换

  • lower() 转小写

  • upper() 转大写

  • capitalize() 首字母大写

  • title() 每个单词首字母大写

  • swapcase() 大小写互换 

print("HELLO".lower()) # hello
print("hello".upper())  # HELLO
print("python".capitalize())  # Python
print("hello world".title())  # Hello World
print("PyThon".swapcase())  # pYtHON

2. 查找与替换

  • find(sub, start, end):查找子串,返回索引,找不到返回-1,start 和 end 为可选参数

  • rfind(sub):从右侧查找子串 

  • index(sub):类似find(),但找不到时会报错

  • replace(old, new, count):替换子串,count指定替换次数为可选参数
print("apple".find("p")) #1
print("apple".find("p",3)) # -1print("apple".rfind("p")) # 2
print("apple".index("p")) # 1 找不到报错
print("banana".replace("a", "o", 2)) # bonona

3. 字符串判断

  • startswith(prefix, start, end):是否以指定前缀开头,start 和 end 为可选参数

  • endswith(suffix):是否以指定后缀结尾 

  • isalpha():是否全为字母 

  • isdigit():是否全为数字

  • isalnum():是否全为字母或数字

  • isspace():是否全为空白符

print("hello".startswith("he")) # True
print("hello".endswith("lo")) # True
print("123ABC".isdigit()) # False
print("123".isdigit()) # True
print("123ABC".isalnum()) # True
print("\t \n".isspace()) # True

4. 分割与连接

  • split(sep,maxsplit) :按分隔符分割为列表

  • rsplit(sep,maxsplit): 从右侧分割字符

  • splitlines():按行分割

  • join(iterable):连接字符串序列

print("a,b,c".split(",",1)) #['a', 'b,c']
print("a,b,c".rsplit(",",1)) #['a,b', 'c']
print("line1\nline2".splitlines()) # ['line1', 'line2']
print("!".join(["a", "b", "c"]) ) #a!b!c

5. 空白处理

  • strip():移除两侧空白或指定字符

  • lstrip():移除左侧空白或指定字符

  • rstrip():移除右侧空白或指定字符

print("  hello  ".strip()) # hello
print("xxxworld".lstrip("xxx")) # world
print("helloxxx".rstrip("xxx")) # hello

6. 对齐与填充

  • center(width):居中填充

  • ljust(width):左对齐填充

  • rjust(width):右对齐填充

  • zfill(width):左侧用0填充

print("center".center(8,'0')) # 0center0
print("hello".ljust(8,'0')) # hello000
print("hello".rjust(8,'0')) #000hello
print("hello".zfill(10)) #00000hello

7. 格式化

  • f 格式化字符串

  • format() 格式化表达式

name = "Alice"
print(f"Hello, {name}!") #Hello, Alice!
print("{0} + {1} = {2}".format(1, 2, 3)) #1 + 2 = 3

8. 其他操作

  • len(str):获取字符串长度

  • in:检查字符串存在某个字符

  • not in:检查字符串不存在某个字符

  • count(sub,start,end):统计子串出现次数

  • encode(encoding="utf-8"):编码为字节

print(len("hello world")) # 11
print("a" in("apple")) # True
print("o" not in("apple")) #True
print("aaabbbccc".count("a",0,2)) #2
print("你好".encode(encoding="utf-8")) # b'\xe4\xbd\xa0\xe5\xa5\xbd'

掌握这些方法可高效处理文本数据,注意字符串不可变性:所有操作均返回新字符串,原字符串不变。

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

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

相关文章

利用百度/高德地图API实现车辆轨迹跟踪系统

利用百度/高德地图API实现车辆轨迹跟踪系统 摘要: 本文详细阐述了如何利用百度地图API或高德地图API构建一套完整的车辆轨迹跟踪系统。内容涵盖系统架构设计、数据采集与传输、地图API核心功能实现(地图展示、轨迹绘制、实时定位、历史轨迹回放)、关键优化技术(轨迹纠偏、…

解锁K-近邻算法:数据挖掘的秘密武器

目录 一、K - 近邻算法是什么二、算法原理深度剖析2.1 核心思想2.2 距离度量方式2.3 K 值的选择2.4 分类决策规则 三、K - 近邻算法实践3.1 准备数据集3.2 代码实现步骤3.3 结果分析与评估 四、K - 近邻算法优缺点4.1 优点阐述4.2 缺点分析 五、应用案例展示5.1 图像识别领域5.…

华为OD机试_2025 B卷_构成正方形数量(Python,100分)(附详细解题思路)

题目描述 输入N个互不相同的二维整数坐标&#xff0c;求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直] 输入描述 第一行输入为N&#xff0c;N代表坐标数量&#xff0c;N为正整数。N < 100 之后的 K 行输入为坐标x y以空格分隔&#xff0c;x&#xff0c;y为整…

Qt:智能指针QScopedPointer使用

QScopedPointer和C中的智能指针std::unique_ptr其概念是一样的&#xff0c;它包装了new操作符在堆上分配的动态对象&#xff0c;能够保证动态创建的对象在任何时候都可以被正确地删除。但它有更严格的所有权&#xff0c;并且不能转让&#xff0c;一旦获取了对象的管理权&#x…

TensorFlow基础之理解计算图

Tensor Flow TensorFlow 本章介绍TensorFlow的基础。特别地&#xff0c;你将学习如何用TensorFlow进行基础计算。在开始使用 TensorFlow之前,你必须理解它背后的哲学。 这个库基于计算图的概念&#xff0c;如果你不理解计算图是如何工作的&#xff0c;你就不能理解如何使用这…

【HarmonyOS Next之旅】DevEco Studio使用指南(三十五) -> 配置构建(二)

目录 1 -> 定制HAP多目标构建产物 1.1 -> 定义产物的HAP包名 1.2 -> 定义产物的deviceType 1.3 -> 定义产物的distributionFilter 1.4 -> 定义产物preloads的分包 1.5 -> 定义产物的source源码集-pages 1.6 -> 定义产物的source源码集-sourceRoots…

[muduo] ThreadPool | TcpClient | 异步任务 | 通信测试

第九章&#xff1a;线程池&#xff08;ThreadPool&#xff09; 在第八章《TcpServer》中&#xff0c;我们了解到muduo::net::TcpServer通过EventLoop线程池处理入站连接。 这些EventLoop线程主要负责网络I/O&#xff1a;套接字读写和定时器处理&#xff0c;由Poller和Channel…

【笔记】解决部署国产AI Agent 开源项目 MiniMax-M1时 Hugging Face 模型下载报错解决方案

MiniMax-AI/MiniMax-M1&#xff1a;MiniMax-M1&#xff0c;世界上第一个开放权重、大规模的混合注意力推理模型。 一、问题背景 【笔记】解决部署国产AI Agent 开源项目 MiniMax-M1时 Hugging Face 模型下载缓存占满 C 盘问题&#xff1a;更改缓存位置全流程-CSDN博客 在执行hu…

新手如何利用AI助手Cursor生成复杂项目

新手如何利用AI助手Cursor生成复杂项目 在编程学习的道路上&#xff0c;AI工具正成为新手开发者的得力助手。本文将介绍如何借助Cursor这一强大的AI代码助手&#xff0c;从零开始构建复杂项目。 一、基础准备工作 作为编程新手&#xff0c;面对复杂项目时常常不知从何下手。利…

【Fargo】x264的intra refresh 3: 采集、编码到 RTP打包

实际调试默认并么有打开b_intra_refresh D:\XTRANS\thunderbolt\ayame\zhb-bifrost\player-only\echo\codec\x264\echo_h264_encoder.cpp 即使打开了b_intra_refresh,也不影响RTP打包: 但是有一些要注意的地方: RFC 6184(“RTP Payload Format for H.264 Video”) intra …

Vue3 的生命周期:从 Composition API 视角看

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

面向互联网大厂Java岗位面试:Spring Boot与微服务架构的深入探讨

面向互联网大厂Java岗位面试&#xff1a;Spring Boot与微服务架构的深入探讨 问题1&#xff1a;什么是Spring Boot&#xff0c;它如何简化Spring应用程序的开发&#xff1f; 简洁回答&#xff1a; Spring Boot是一个基于Spring框架的开源Java平台&#xff0c;旨在简化新Sprin…

【信号与系统四】采样和通信系统

在一定条件之下&#xff0c;一个连续时间信号完全可以用该信号在等时间间隔点上的值或样本来表示&#xff0c;并且可以用这些样本值把该信号全部恢复出来。这个稍微有点使人吃惊的性质来自于采样定理。 例如一帧一帧的电影画面&#xff0c;在我们大脑中构成连续的生活情节 接…

关于球面投影SphericalProjector的介绍以及代码开发

球面投影的几何背景 什么是球面投影&#xff1f; 球面投影将 2D 图像中的像素点&#xff08;通常是平面&#xff09;映射到一个虚拟的球面上&#xff0c;再将球面上的角度&#xff08;经度、纬度&#xff09;展开到平面图上。它是广角图像拼接、全景图生成中常用的投影方法。…

wordpress外贸独立站常用留言表单插件 contact form 7

Contact Form 7 介绍 Contact Form 7 是一款非常流行的 WordPress 联系表单插件&#xff0c;广泛应用于外贸独立站。以下是其主要特点&#xff1a; 功能强大且免费&#xff1a;Contact Form 7 是完全免费的&#xff0c;支持创建和管理多个联系表单。 简单易用&#xff1a;用…

佰力博科技与您探讨油浴极化的优点及工艺流程

一、油浴极化的优点 温度范围宽&#xff1a;油浴极化适用于较宽的温度范围&#xff0c;适合不同材料的极化需求。 绝缘强度高&#xff1a;油浴介质具有良好的绝缘性能&#xff0c;能够承受较高的极化电场。 防潮性好&#xff1a;油浴极化在潮湿环境中仍能保持良好的绝缘性能。 …

从0开始学习R语言--Day28--高维回归

我们一般处理的数据&#xff0c;都是样本数量远大于其特征数量&#xff0c;可用很多种回归方法&#xff1b;但当特征数量远大于样本量时&#xff0c;可能会因为出现无数多个完美解导致过拟合现象&#xff0c;也使得在计算时搜索最有特征子集的方法不再可行&#xff08;因为计算…

响应式数据的判断:Vue3中的方法

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

[论文阅读] 人工智能+软件工程 | 用大语言模型架起软件需求形式化的桥梁

用大语言模型架起软件需求形式化的桥梁&#xff1a;一篇ACM调查草案的深度解读 论文信息 arXiv:2506.14627 ACM Survey Draft on Formalising Software Requirements with Large Language Models Arshad Beg, Diarmuid O’Donoghue, Rosemary Monahan Comments: 22 pages. 6 s…

DM8故障分析工具-AWR报告

在数据库运维过程中&#xff0c;大家都会利用数据库提供的各种工具来找到数据库存在的问题&#xff0c;以便对症实施配置优化&#xff0c;我是因工作需要&#xff0c;最近开始了解达梦数据库DM8的故障分析工具&#xff0c;这里发现AWR报告是一款不错的自带工具&#xff0c;故而…