当前位置: 首页 > news >正文

Python3 中常用字符串函数介绍

介绍

Python 中有几个与 字符串数据类型相关的内置函数。这些函数让我们能够轻松修改和操作字符串。我们可以将函数视为在代码元素上执行的操作。内置函数是在 Python 编程语言中定义的,并且可以随时供我们使用的函数。

在本教程中,我们将介绍在 Python 3 中使用的几种不同的函数,以处理字符串。

将字符串转换为大写和小写

函数 str.upper()str.lower() 将返回一个将原始字符串的所有字母转换为大写或小写字母的字符串。由于字符串是不可变数据类型,返回的字符串将是一个新字符串。字符串中的任何非字母字符都不会更改。

让我们将字符串 Sammy Shark 转换为全部大写:

ss = "Sammy Shark"
print(ss.upper())
SAMMY SHARK

现在,让我们将字符串转换为全部小写:

print(ss.lower())
sammy shark

str.upper()str.lower() 函数使得通过使大小写一致来评估和比较字符串变得更容易。这样,如果用户以全部小写形式写他们的名字,我们仍然可以通过将其与全部大写版本进行比较来确定他们的名字是否在我们的数据库中,例如。

布尔方法

Python 具有一些字符串方法,将计算为 布尔值。当我们为用户创建填写表单时,这些方法非常有用。例如,如果我们要求邮政编码,我们只希望接受数字字符串,但当我们要求姓名时,我们只希望接受字母字符串。

有几种字符串方法将返回布尔值:

方法如果
str.isalnum()字符串仅由字母数字字符组成(没有符号)
str.isalpha()字符串仅由字母字符组成(没有符号)
str.islower()字符串的字母字符全部小写
str.isnumeric()字符串仅由数字字符组成
str.isspace()字符串仅由空白字符组成
str.istitle()字符串是标题形式
str.isupper()字符串的字母字符全部大写

让我们看一下其中几个的实际应用:

number = "5"
letters = "abcdef"print(number.isnumeric())
print(letters.isnumeric())
True
False

在字符串 5 上使用 str.isnumeric() 方法返回 True,而在字符串 abcdef 上使用相同的方法返回 False

同样,我们可以查询字符串的字母字符是小写、大写还是标题形式。让我们创建一些字符串:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

现在让我们尝试检查标题形式的布尔方法:

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

现在我们可以运行这些小程序,并得到以下输出:

False
True
True
False
False
True

检查字符是小写、大写还是标题形式可以帮助我们适当地对数据进行排序,并为我们提供检查和根据需要修改字符串的标准化数据的机会。

当我们希望检查用户输入是否符合给定参数时,布尔字符串方法非常有用。

确定字符串长度

字符串函数 len() 返回字符串中的字符数。例如,当您需要强制执行最小或最大密码长度时,或将较大的字符串截断以在使用缩写时保持在某些限制范围内时,此方法非常有用。

为了演示这个方法,我们将找到一个长句子字符串的长度:

open_source = "Sammy contributes to open source."
print(len(open_source))
33

我们将变量 open_source 设置为字符串 "Sammy contributes to open source.",然后我们使用 len() 函数传递了该变量,即 len(open_source)。然后,我们将该方法传递到 print() 方法中,以便我们可以从我们的程序中在屏幕上生成输出。

请记住,len() 函数将计算由单引号或双引号括起的任何字符——包括字母、数字、空格字符和符号。

join()

split()replace() 方法

str.join()str.split()str.replace() 方法是在 Python 中操作字符串的另外几种方式。

str.join() 方法将连接两个字符串,但以一种将一个字符串通过另一个字符串传递的方式。

让我们创建一个字符串:

balloon = "Sammy has a balloon."

现在,让我们使用 str.join() 方法向该字符串添加空格,我们可以这样做:

" ".join(balloon)

如果我们将其打印出来:

print(" ".join(balloon))

我们将注意到在返回的新字符串中,在第一个字符串中间添加了空格:

[secondary_label 输出]
S a m m y   h a s   a   b a l l o o n .

我们还可以使用 str.join() 方法返回一个与原始字符串相反的字符串:

print("".join(reversed(balloon)))
.noollab a sah ymmaS

由于我们不想将另一个字符串的任何部分添加到第一个字符串,因此我们保持引号紧密相连,中间没有空格。

str.join() 方法还可以用于将字符串列表组合成一个新的单一字符串。

让我们从一个字符串列表创建一个以逗号分隔的字符串:

print(",".join(["sharks", "crustaceans", "plankton"]))
sharks,crustaceans,plankton

如果我们想在新字符串中的字符串值之间添加逗号和空格,我们可以使用空格后的逗号重写我们的表达式:", ".join(["sharks", "crustaceans", "plankton"])

与我们可以将字符串连接在一起类似,我们也可以拆分字符串。为此,我们将使用 str.split() 方法:

print(balloon.split())
['Sammy', 'has', 'a', 'balloon.']

如果未提供其他参数,则 str.split() 方法将返回由空格分隔的字符串列表。

我们还可以使用 str.split() 来删除原始字符串的某些部分。例如,让我们从字符串中删除字母 a

print(balloon.split("a"))
['S', 'mmy h', 's ', ' b', 'lloon.']

现在字母 a 已被删除,并且字符串已在每个字母 a 的位置分隔,保留了空格。

str.replace() 方法可以接受原始字符串并返回一个带有替换的更新字符串。

比方说,Sammy 失去了他的气球。由于 Sammy 不再拥有这个气球,我们将从原始字符串 balloon 中的子字符串 "has" 更改为新字符串中的子字符串 "had"

print(balloon.replace("has","had"))

在括号中,第一个子字符串是我们要替换的内容,第二个子字符串是我们要用来替换第一个子字符串的内容。我们的输出将如下所示:

Sammy had a balloon.

使用字符串方法 str.join()str.split()str.replace() 将为您提供更多控制权,以在 Python 中操作字符串。

结论

本教程介绍了在 Python 程序中使用的字符串数据类型的一些常见内置方法,用于处理和操作字符串。

相关文章:

Python3 中常用字符串函数介绍

介绍 Python 中有几个与 字符串数据类型相关的内置函数。这些函数让我们能够轻松修改和操作字符串。我们可以将函数视为在代码元素上执行的操作。内置函数是在 Python 编程语言中定义的,并且可以随时供我们使用的函数。 在本教程中,我们将介绍在 Pytho…...

Python - 深夜数据结构与算法之 AVL 树 红黑树

目录 一.引言 二.高级树的简介 1.树 2.二叉树 3.二叉搜索树 4.平衡二叉树 三.AVL 树 ◆ 插入节点 ◆ 左旋 ◆ 右旋 ◆ 左右旋 ◆ 右左旋 ◆ 一般形式 ◆ 实际操作 ◆ 总结 四.红黑树 ◆ 概念 ◆ 示例 ◆ 对比 五.总结 一.引言 前面我们介绍了二叉树、二叉…...

Zookeeper使用详解

介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布…...

C#属性(Property)

文章目录 一、C#属性(Property)?二、属性的用法总结 一、C#属性(Property)? C#属性(Property)是一种访问器(accessor),用于封装一个类的字段&…...

在docker中搭建部署clickhouse

因需要给网关日志拉取并存储供数据分析师分析,由于几十个项目的网关请求数量很大,放在mysql不合适,MongoDB不适合分析,于是准备存放在clickhouse,clickhouse对于读写支持也比较友好,说干就干 1、在服务器中…...

第九部分 使用函数 (三)

目录 一、文件名操作函数 1、dir 2、notdir 3、suffix 4、basename 5、addsuffix 6、addprefix 7、join 一、文件名操作函数 下面我们要介绍的函数主要是处理文件名的。每个函数的参数字符串都会被当做一个或是 一系列的文件名来对待。 1、dir $(dir <names..>…...

基础命令继续

1&#xff1a;创建目录命令 mkdir命令 注意&#xff1a;创建文件夹需要修改权限&#xff0c;请确保操作均在HOME目录内&#xff0c;不要在Home外操作&#xff0c;涉及到权限问题&#xff0c;HOME外无法识别 小结&#xff1a; 练习: 2&#xff1a;touch创建文件 2&#xff1a;c…...

uni-app做A-Z排序通讯录、索引列表

上图是效果图&#xff0c;三个问题 访问电话通讯录&#xff0c;拿数据拿到用户的联系人数组对象&#xff0c;之后根据A-Z排序根据字母索引快速搜索 首先说数据怎么拿 - 社区有指导https://ask.dcloud.net.cn/question/64117 uniapp 调取通讯录 // #ifdef APP-PLUSplus.contac…...

Codeforces Round 768 (Div. 1) D. Flipping Range(思维题 等价类性质 dp)

题目 思路来源 官方题解 洛谷题解 题解 可操作的最短区间长度肯定是gcd&#xff0c;记为g&#xff0c;然后考虑如何dp 考虑g个等价类&#xff0c;每个等价类i,ig,i2*g,... 每次翻转长度为g的区间&#xff0c;会同时影响到g个等价类总的翻转的奇偶性&#xff0c; 性质一&…...

springboot集成kafka消费数据

springboot集成kafka消费数据 文章目录 springboot集成kafka消费数据1.引入pom依赖2.添加配置文件2.1.添加KafkaConsumerConfig.java2.2.添加KafkaIotCustomProperties.java2.3.添加application.yml配置 3.消费者代码 1.引入pom依赖 <dependency><groupId>org.spri…...

单例模式---JAVA

目录 “饿汉”模式 完整代码 “懒汉”模式 完整代码 单例模式&#xff1a;保证某个类在程序中只存在唯一一份实例, 而不会创建出多个实例。 单例模式可以通过实例创建的时间来分为两种&#xff1a;“饿汉”和“懒汉”模式。 “饿汉”模式 所谓的“饿汉”模式实则就是在类…...

maven管理使用

maven基本使用 一、简介二、配置文件三、项目结构maven基本标签实践(例子) 四、pom插件配置五、热部署六、maven 外部手动加载jar打包方式Maven上传私服或者本地 一、简介 基于Ant 的构建工具,Ant 有的功能Maven 都有,额外添加了其他功能.本地仓库:计算机中一个文件夹,自己定义…...

如何在一个系统中同时访问异构的多种数据库

如何在一个系统中同时访问异构的多种数据库 比如在一个系统中&#xff0c;要同时访问MySQL,H2, MsAccess, Mongodb. 要是使用Hibernate, MyBatis这些ORM&#xff0c;难度简直不敢想像。 要是MySQL还使用了分库分表&#xff0c;那更加不得了&#xff0c;一大堆的组件都要配合着…...

半监督学习 - 半监督聚类(Semi-Supervised Clustering)

什么是机器学习 半监督聚类是一种集成了有标签数据和无标签数据的聚类方法&#xff0c;其目标是在聚类的过程中利用有标签数据的信息来提高聚类性能。在半监督聚类中&#xff0c;一部分数据集有已知的标签&#xff0c;而另一部分没有标签。 以下是半监督聚类的基本思想和一些…...

实现STM32烧写程序-(3) Hex文件结构

简介 要对STM32进行更新动作, 就需要对程序文件进行解析, 大部分编译的生成程序文件是Hex或者Bin, 先来看看Hex的结构吧。 资料 Hex文件 简介 Hex文件格式最早由Intel公司于1973年创建。它最初是为了在Intel 8080微处理器上存储和传输二进制数据而设计的。随后&#xff0c;Hex…...

精品量化公式——“区域突破”,应对当下行情较好的主图看盘策略

不多说&#xff0c;直接上效果如图&#xff1a; ► 日线表现 代码评估 技术指标代码评估&#xff1a; VAR1, VAR2, VAR3&#xff1a;这些变量是通过指数移动平均&#xff08;EMA&#xff09;计算得出的。EMA是一种常用的技术分析工具&#xff0c;用于平滑价格数据并减少市场“…...

自然语言处理5——发掘隐藏规律 - Python中的关联规则挖掘

目录 写在开头1. 了解关联规则挖掘的概念和实际应用1.1 关联规则挖掘在市场分析和购物篮分析中的应用1.2 关联规则的定义和基本原理1.3 应用场景2. 使用Apriori算法和FP-growth算法进行关联规则挖掘2.1 Apriori算法的工作原理和实现步骤2.2 FP-growth算法的优势和使用方法2.3 A…...

【记录】重装系统后的软件安装

考完研重装了系统&#xff0c;安装软件乱七八糟&#xff0c;用到什么装什么。在这里记录一套标准操作&#xff0c;备用。一个个装还是很麻烦&#xff0c;我为什么不直接写个脚本直接下载安装包呢&#xff1f;奥&#xff0c;原来是我太菜了还不会写脚本啊&#xff01;先记着吧&a…...

Android 13 - Media框架(31)- ACodec(七)

之前的章节中我们解了 input buffer 是如何传递给 OMX 的&#xff0c;以及Output buffer 是如何分配并且注册给 OMX 的。这一节我们就来看ACodec是如何处理OMX的Callback的。 1、OMXNodeInstance Callback 这一节我们只大致记录Callback是如何传递给ACodec的。在之前的学习中我…...

快速了解VR全景拍摄技术运用在旅游景区的优势

豆腐脑加了糖、烤红薯加了勺&#xff0c;就连索菲亚大教堂前都有了“人造月亮”&#xff0c;在这个冬季&#xff0c;“尔滨”把各地游客宠上了天。面对更多的游客无法实地游玩&#xff0c;哈尔滨冰雪世界再添新玩法&#xff0c;借助VR全景拍摄技术对冬季经典冰雪体验项目进行全…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏&#xff0c;有着深厚的文化底蕴。通过将五子棋制作成网页游戏&#xff0c;可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家&#xff0c;都可以通过网页五子棋感受到东方棋类…...