Python3 【字符串】:方法和函数使用示例手册

news2025/1/23 8:13:43

Python3 【字符串】:方法和函数使用示例手册

Python 提供了丰富的字符串处理方法和函数,以下是一些常用的方法和函数分类整理,并提供详细使用示例,简单易懂,值得收藏。


1. 字符串大小写转换

  • str.upper():将字符串转换为大写。
  • str.lower():将字符串转换为小写。
  • str.title():将每个单词的首字母大写。
  • str.capitalize():将字符串的第一个字符大写。
  • str.swapcase():交换字符串中的大小写。
s = "hello world"
print(s.upper())        # 输出 "HELLO WORLD"
print(s.title())        # 输出 "Hello World"
print(s.capitalize())   # 输出 "Hello world"

2. 字符串查找与替换

  • str.find(sub):返回子字符串 sub 第一次出现的索引,未找到返回 -1
  • str.rfind(sub):从右侧开始查找子字符串。
  • str.index(sub):与 find() 类似,但未找到时会抛出 ValueError
  • str.rindex(sub):从右侧开始查找。
  • str.replace(old, new):将字符串中的 old 替换为 new
  • str.count(sub):返回子字符串 sub 出现的次数。
s = "hello world"
print(s.find("world"))  # 输出 6
print(s.replace("world", "Python"))  # 输出 "hello Python"
print(s.count("l"))     # 输出 3

3. 字符串分割与连接

  • str.split(sep):根据分隔符 sep 将字符串分割为列表。
  • str.rsplit(sep):从右侧开始分割。
  • str.splitlines():按行分割字符串。
  • str.join(iterable):将可迭代对象中的元素用字符串连接。
s = "hello,world,python"
print(s.split(","))     # 输出 ['hello', 'world', 'python']
print("-".join(["a", "b", "c"]))  # 输出 "a-b-c"

4. 字符串去除空白与填充

  • str.strip():去除字符串两端的空白字符。
  • str.lstrip():去除左侧空白字符。
  • str.rstrip():去除右侧空白字符。
  • str.center(width):将字符串居中并用空格填充到指定宽度。
  • str.ljust(width):左对齐并用空格填充。
  • str.rjust(width):右对齐并用空格填充。
  • str.zfill(width):用 0 填充字符串到指定宽度。
s = "  hello  "
print(s.strip())        # 输出 "hello"
print(s.center(10))     # 输出 "  hello   "
print("42".zfill(5))    # 输出 "00042"

5. 字符串检查

  • str.startswith(prefix):检查字符串是否以 prefix 开头。
  • str.endswith(suffix):检查字符串是否以 suffix 结尾。
  • str.isalpha():检查字符串是否只包含字母。
  • str.isdigit():检查字符串是否只包含数字。
  • str.isalnum():检查字符串是否只包含字母和数字。
  • str.isspace():检查字符串是否只包含空白字符。
  • str.islower():检查字符串是否全为小写。
  • str.isupper():检查字符串是否全为大写。
s = "hello123"
print(s.startswith("he"))  # 输出 True
print(s.isalnum())         # 输出 True
print(s.isdigit())         # 输出 False

6. 字符串格式化

  • str.format():格式化字符串。
  • f-string(Python 3.6+):更简洁的格式化方式。
  • str % values:旧式格式化(不推荐)。
name = "Alice"
age = 25
print("Name: {}, Age: {}".format(name, age))  # 输出 "Name: Alice, Age: 25"
print(f"Name: {name}, Age: {age}")            # 输出 "Name: Alice, Age: 25"

7. 字符串编码与解码

  • str.encode(encoding):将字符串编码为字节。
  • bytes.decode(encoding):将字节解码为字符串。
s = "hello"
encoded = s.encode("utf-8")  # 编码为字节
print(encoded)               # 输出 b'hello'
decoded = encoded.decode("utf-8")  # 解码为字符串
print(decoded)               # 输出 "hello"

8. 其他常用方法

  • len(str):返回字符串的长度。
  • str[::-1]:反转字符串。
  • str in str2:检查字符串是否包含子字符串。
  • str * n:重复字符串 n 次。
s = "hello"
print(len(s))        # 输出 5
print(s[::-1])       # 输出 "olleh"
print("he" in s)     # 输出 True
print(s * 3)         # 输出 "hellohellohello"

9. 字符串与列表的转换

  • list(str):将字符串转换为字符列表。
  • "".join(list):将字符列表合并为字符串。
s = "hello"
char_list = list(s)  # 转换为列表 ['h', 'e', 'l', 'l', 'o']
new_s = "".join(char_list)  # 合并为字符串 "hello"

10. 字符串的 Unicode 处理

  • ord(char):返回字符的 Unicode 码点。
  • chr(code):返回 Unicode 码点对应的字符。
print(ord("A"))  # 输出 65
print(chr(65))   # 输出 "A"

11. 字符串的切片操作

字符串切片是 Python 中非常强大且常用的功能,它允许你从字符串中提取子字符串。切片的基本语法是:

string[start:stop:step]
  • start:起始索引(包含)。
  • stop:结束索引(不包含)。
  • step:步长(可选,默认为 1)。

以下是更多关于切片的例子:


(1) 基本切片

s = "Python Programming"

# 提取索引 0 到 5 的字符(不包含索引 6)
print(s[0:6])  # 输出 "Python"

# 提取索引 7 到 18 的字符
print(s[7:18])  # 输出 "Programming"

(2) 省略起始或结束索引

  • 如果省略 start,默认从字符串开头开始。
  • 如果省略 stop,默认到字符串末尾结束。
s = "Python Programming"

# 从开头到索引 5
print(s[:6])  # 输出 "Python"

# 从索引 7 到末尾
print(s[7:])  # 输出 "Programming"

# 提取整个字符串
print(s[:])  # 输出 "Python Programming"

(3) 使用负索引

负索引表示从字符串末尾开始计数(-1 是最后一个字符)。

s = "Python Programming"

# 提取最后 5 个字符
print(s[-5:])  # 输出 "mming"

# 提取从索引 -12 到 -1 的字符
print(s[-12:-1])  # 输出 "Programmin"

(4) 使用步长

步长 step 控制切片的间隔。

s = "Python Programming"

# 提取所有字符,步长为 2
print(s[::2])  # 输出 "Pto rgamn"

# 反转字符串
print(s[::-1])  # 输出 "gnimmargorP nohtyP"

# 从索引 0 到 10,步长为 3
print(s[0:10:3])  # 输出 "Phr"

(5) 复杂切片

结合起始、结束和步长,可以实现更复杂的切片。

s = "Python Programming"

# 从索引 2 到 12,步长为 2
print(s[2:12:2])  # 输出 "to rg"

# 从索引 -10 到 -1,步长为 3
print(s[-10:-1:3])  # 输出 "rgn"

(6) 切片与字符串操作结合

切片可以与其他字符串操作结合使用。

s = "Python Programming"

# 提取前 6 个字符并转换为大写
print(s[:6].upper())  # 输出 "PYTHON"

# 提取最后 5 个字符并反转
print(s[-5:][::-1])  # 输出 "gnimm"

(7) 切片与条件结合

可以根据条件动态调整切片的范围。

s = "Python Programming"

# 提取字符串的前半部分
half_length = len(s) // 2
print(s[:half_length])  # 输出 "Python Pro"

# 提取字符串的后半部分
print(s[half_length:])  # 输出 "gramming"

(8) 多层切片

可以对切片结果再次切片。

s = "Python Programming"

# 先提取 "Programming",再提取前 5 个字符
print(s[7:][:5])  # 输出 "Progr"

总结

Python 的字符串处理功能非常强大,涵盖了大小写转换、查找替换、分割连接、格式化、编码解码、切片处理等多种操作。掌握这些方法和函数,可以高效地处理各种字符串任务!

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

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

相关文章

【unity游戏开发之InputSystem——02】InputAction的使用介绍(基于unity6开发介绍)

文章目录 一、InputAction简介1、InputAction是什么?2、示例 二、InputAction参数相关1、点击齿轮1.1 Actions 动作(1)动作类型(Action Type)(2)初始状态检查(Initial State Check&a…

机器学习 vs 深度学习

目录 一、机器学习 1、实现原理 2、实施方法 二、深度学习 1、与机器学习的联系与区别 2、神经网络的历史发展 3、神经网络的基本概念 一、机器学习 1、实现原理 训练(归纳)和预测(演绎) 归纳: 从具体案例中抽象一般规律…

Docker核心命令与Yocto项目的高效应用

随着软件开发逐渐向分布式和容器化方向演进,Docker 已成为主流的容器化技术之一。它通过标准化的环境配置、资源隔离和高效的部署流程,大幅提高了开发和构建效率。Yocto 项目作为嵌入式 Linux 系统构建工具,与 Docker 的结合进一步增强了开发…

Linux通过docker部署京东矩阵容器服务

获取激活码 将京东无线宝app升级到最新版,然后打开首页,点击号 选择添加容器矩阵,然后获取激活码 运行容器 read -p "请输入你的激活码: " ACTIVECODE;read -p "请输入宿主机的缓存路径: " src;docker rm -f cmatrix;docker run -d -it --name cmatrix …

vue视频流播放,支持多种视频格式,如rmvb、mkv

先将视频转码为ts ffmpeg -i C:\test\3.rmvb -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls C:\test\a\output.m3u8 后端配置接口 import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; import org.spring…

【Solr分词器】

Solr分词器 一,什么是solr分词器? 前面已经提到过,Solr是一个高性能的全文检索服务,基于Apache Lucene的,Lucene是一个用Java编写的开源的信息检索库,为全文索引和搜索提供了基础功能。 在Solr中&#xf…

OS2.【Linux】基本命令入门(1)

目录 1.操作系统是什么? 2.好操作系统的衡量标准 3.操作系统的核心工作 4.在计算机上所有行为都会被转换为硬件行为 5.文件 6.简单介绍一些基本命令 1.clear 2.pwd 3.ls 1.ls -l 2.隐藏文件的创建 3.ls -al 4.ls -ld 5.ls -F(注意是大写) 4.cd 1.cd .. "…

LabVIEW处理复杂系统和数据处理

LabVIEW 是一个图形化编程平台,广泛应用于自动化控制、数据采集、信号处理、仪器控制等复杂系统的开发。它的图形化界面使得开发人员能够直观地设计系统和算法,尤其适合处理需要实时数据分析、高精度控制和复杂硬件集成的应用场景。LabVIEW 提供丰富的库…

激光雷达和相机早期融合

通过外参和内参的标定将激光雷达的点云投影到图像上。 • 传感器标定 首先需要对激光雷达和相机(用于获取 2D 图像)进行外参和内参标定。这是为了确定激光雷达坐标系和相机坐标系之间的转换关系,包括旋转和平移。通常采用棋盘格等标定工具&…

C++----STL(vector)

vector的介绍 vector的文档介绍:cplusplus.com/reference/vector/vector/ 1.基本概念 简单来说,vector是表示可以改变大小的数组的顺序容器。使用连续的存储位置来存储元素,因此可以通过常规指针的偏移量来高效访问。 2.内部机制 vector…

Airflow:BranchOperator实现动态分支控制流程

Airflow是用于编排复杂工作流的开源平台,支持在有向无环图(dag)中定义、调度和监控任务。其中一个关键特性是能够使用BranchOperator创建动态的、有条件的工作流。在这篇博文中,我们将探索BranchOperator,讨论它是如何…

rocketmq-MQClientInstance-单进程多生产者组多消费者组的实例模型

多生产者组多消费者组的思考 思考下。当一个client,订阅多个consumergroup、多个productgroup时。此时进程的线程模型是如何的? 之前文章有分析到。消费者组,是有多个线程去共同协作的。 假设订阅2个consumergroup, 线程数量是2倍…

nuxt3项目打包部署到服务器后配置端口号和开启https

nuxt3打包后的项目部署相对于一般vite打包的静态文件部署要稍微麻烦一些,还有一个主要的问题是开发环境配置的.env环境变量在打包后部署时获取不到,具体的解决方案可以参考我之前文章 nuxt3项目打包后获取.env设置的环境变量无效的解决办法。 这里使用的…

Class ‘com.xxx.xxx‘ not found in module ‘xxxx‘ 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 1. 问题所示 启动项目的时候,出现如下Bug: Class ‘com.xxx.xxx‘ not found in module ‘xxxx‘截图如下: 2. 原理分析 Java 项目中引用的类未能被正…

ngrok同时配置多个内网穿透方法

一、概要 ngrok可以用来配置免费的内网穿透,启动后就可以用外网ip:端口访问到自己计算机的某个端口了。 可以用来从外网访问自己的测试页面(80、8080)、ftp文件传输(21)、远程桌面(3389)等。 …

OGG 19C 集成模式启用DDL复制

接Oracle19C PDB 环境下 OGG 搭建(PDB to PDB)_cdb架构 配置ogg-CSDN博客,给 pdb 环境 ogg 配置 DDL 功能。 一个报错 SYShfdb1> ddl_setup.sqlOracle GoldenGate DDL Replication setup scriptVerifying that current user has privile…

【计算机网络】- 应用层HTTP协议

目录 初识HTTP 什么是HTTP 版本 HTTPS 模型 HTTP抓包工具 为什么使用 抓包工具的下载 下载后的重要操作 Fiddler的使用 HTTP请求与响应的基本格式 HTTP请求基本格式​编辑 HTTP响应基本格式 协议格式总结❗️❗️❗️​编辑 HTTP 详解 认识 URL URL基本格式 …

基于SpringBoot+Vue的旅游管理系统【源码+文档+部署讲解】

系统介绍 基于SpringBootVue实现的旅游管理系统采用前后端分离架构方式,系统设计了管理员、用户两种角色,系统实现了用户登录与注册、个人中心、用户管理、景点信息管理、订票信息管理、用户评价管理、景点咨询、轮播图管理等功能。 技术选型 开发工具…

Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)

在本系列的上篇中,小李哥为大家介绍了如何在亚马逊云科技上给社交数字营销场景创建AI代理的方案,用于社交动态的生成和对文章进行推广曝光。在本篇中小李哥将继续本系列的介绍,为大家介绍如何创建主代理,将多个子代理挂载到主代理…

【Ubuntu】安装SSH启用远程连接

【Ubuntu】安装OpenSSH启用远程连接 零、安装软件 使用如下代码安装OpenSSH服务端: sudo apt install openssh-server壹、启动服务 使用如下代码启动OpenSSH服务端: sudo systemctl start ssh贰、配置SSH(可跳过) 配置文件 …