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

Python之字符串精讲(下)

前言

今天继续讲解字符串下半部分,内容包括字符串的检索大小写转换去除字符串中空格和特殊字符


一、检索字符串

在Python中,字符串对象提供了很多用于字符串查找的方法,主要给大家介绍以下几种方法。

1. count() 方法

count() 方法用于检索指定字符串在另一个字符串中出现的次数。如果检索的字符串不存在,则返回 0,否则返回出现的次数。语法格式如下:

str.count(sub[, start[, end]])

参数说明

  • str:表示原字符串。
  • sub:表示要检索的子字符串。
  • start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。
  • end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

示例代码如下图所示:

在这里插入图片描述

2. find() 方法

该方法用于检索是否包含指定的子字符串。如果检索的字符串不存在,则返回 -1,如果存在,则返回首次出现该子字符串时的索引。语法格式如下:

str.find(sub[, start[, end]])

参数说明

  • str:表示原字符串。
  • sub:表示要检索的子字符串。
  • start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。
  • end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

示例代码如下图所示:

在这里插入图片描述

如果只是想要判断指定的字符串是否存在,可以使用 in 关键字实现。例如下图代码所示:

在这里插入图片描述

注意:字符串对象还提供了 rfind() 方法,其作用与 find() 方法类似,只是从字符串右边开始查找。

3. startwith() 方法

startwith() 方法用于检索字符串是否以指定子字符串开头。如果是则返回 True,否则返回 False。语法格式如下:

str.startwith(prefix[, start[, end]])

参数说明

  • str:表示原字符串。
  • prefix:表示要检索的子字符串。
  • start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。
  • end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

示例代码如下图所示:

在这里插入图片描述

4. endwith() 方法

endwith() 方法用于检索字符串是否以指定子字符串结尾。用法同 startwith() 方法一致,示例代码如下图所示:

在这里插入图片描述


二、字母的大小写转换

在Python中,字符串对象提供了 lower() 方法和 upper() 方法进行字母的大小写转换,即可用于将大写字母转换为小写字母或者将小写字母转换为大写字母。

1. lower() 方法

lower() 方法用于将字符串中的大写字母转换为小写字母。如果字符串中没有需要被转换的字符,则将原字符串返回,否则将返回一个新的字符串。语法格式如下:

str.lower()

其中,str 为要进行转换的字符串。代码示例如下图所示:

在这里插入图片描述

2. upper() 方法

upper() 方法用于将字符串中的小写字母转为大写字母,用法同 lower() 方法一致,代码示例如下图所示:

在这里插入图片描述


三、去除字符串中的空格和特殊字符

在一些情况下,字符串前后不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符。Python中字符串对象提供了 strip()lstrip()rstrip() 方法用于处理这些情况。

注意:这里的特殊字符是指制表符 \t、回车符 \r、换行符 \n 等。

1. strip() 方法

strip() 方法用于去掉字符串左、右两侧的空格和特殊字符,语法格式如下:

str.strip([chars])

参数说明

  • str:为要去除空格的字符串。
  • chars:为可选参数,用于指定要去除的字符,可以指定多个。如果设置 chars 为 “et”,则去除左右两侧包括的 “e” 或 “t”。如果不指定 chars 参数,默认将去除空格和特殊字符。

示例代码如下图所示:

在这里插入图片描述

2. lstrip() 方法

lstrip() 方法用于去掉字符串左侧的空格和特殊字符,语法格式如下:

str.lstrip([chars])

参数说明

  • str:为要去除空格的字符串。
  • chars:为可选参数,用于指定要去除的字符,可以指定多个。如果设置 chars 为 “et”,则去除左右两侧包括的 “e” 或 “t”。如果不指定 chars 参数,默认将去除空格和特殊字符。

示例代码如下图所示:

在这里插入图片描述

3. rstrip() 方法

rstrip() 方法用于去掉字符串右侧的空格和特殊字符,用法同 lstrip() 一致,代码示例如下图所示:

在这里插入图片描述

4. replace() 方法

上面我们学的三种方法只能用于处理字符串两边的空格及特殊字符,但是如果要去除中间的空格及指定字符怎么办呢?其实字符串对象提供了 replace() 方法可以处理该情况,replace() 方法用于替换字符串中所有的指定字符。语法格式如下:

str.replace(old, new)

参数说明

  • str:为要替换的字符串。
  • old:表示字符串中要被替换的字符
  • new:表示要替换原有字符的新字符

示例代码如下图所示:

在这里插入图片描述

相关文章:

Python之字符串精讲(下)

前言 今天继续讲解字符串下半部分,内容包括字符串的检索、大小写转换、去除字符串中空格和特殊字符。 一、检索字符串 在Python中,字符串对象提供了很多用于字符串查找的方法,主要给大家介绍以下几种方法。 1. count() 方法 count() 方法…...

Python图像卡通化animegan2-pytorch实例演示

先看下效果图: 左边是原图,右边是处理后的图片,使用的 face_paint_512_v2 模型。 项目获取: animegan2-pytorch 下载解压后 cmd 可进入项目地址的命令界面。 其中 img 是我自己建的,用于存放图片。 需要 torch 版本 …...

谢希仁版《计算机网络》期末总复习【完结】

文章目录说明第一章 计算机网络概述计算机网络和互联网网络边缘网络核心分组交换网的性能网络体系结构控制平面和数据平面第二章 IP地址分类编址子网划分无分类编址特殊用途的IP地址IP地址规划和分配第三章 应用层应用层协议原理万维网【URL / HTML / HTTP】域名系统DNS动态主机…...

问:React的useState和setState到底是同步还是异步呢?

先来思考一个老生常谈的问题,setState是同步还是异步? 再深入思考一下,useState是同步还是异步呢? 我们来写几个 demo 试验一下。 先看 useState 同步和异步情况下,连续执行两个 useState 示例 function Component() {const…...

深度理解机器学习16-门控循环单元

评估简单循环神经网络的缺点。 描述门控循环单元(Gated Recurrent Unit,GRU)的架构。 使用GRU进行情绪分析。 将GRU应用于文本生成。 基本RNN通常由输入层、输出层和几个互连的隐藏层组成。最简单的RNN有一个缺点,那就是它们不…...

Python中Generators教程

要想创建一个iterator,必须实现一个有__iter__()和__next__()方法的类,类要能够跟踪内部状态并且在没有元素返回的时候引发StopIteration异常. 这个过程很繁琐而且违反直觉.Generator能够解决这个问题. python generator是一个简单的创建iterator的途径…...

数据结构与算法基础-学习-10-线性表之栈的清理、销毁、压栈、弹栈

一、函数实现1、ClearSqStack(1)用途清理栈的空间。只需要栈顶指针和栈底指针相等,就说明栈已经清空,后续新入栈的数据可以直接覆盖,不用实际清理数据,提升了清理效率。(2)源码Statu…...

Leetcode 每日一题 1234. 替换子串得到平衡字符串

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...

【MYSQL中级篇】数据库数据查询学习

🍁博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 相关文章 文章名文章地址【MYSQL初级篇】入门…...

华为OD机试真题JAVA实现【火星文计算】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出描述示例一输入输出说明解题思路核心知识点Code运行结果版...

Linux基础知识

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放&#xff0…...

Linux 游戏性能谁的 更优秀X.Org还是Wayland!

导读X.Org 和 Wayland 是目前 Linux 平台上的两大主流显示服务器,那么两者在 Linux 游戏性能上谁更优秀呢?国外科技媒体 Phoronix 在 Ubuntu 22.10 上对其进行了多款游戏的实测。评测在运行 GNOME 43.1 的 Ubuntu 22.10 上进行测试,在安装英伟…...

【数据结构】算法的复杂度分析:让你拥有未卜先知的能力

👑专栏内容:数据结构⛪个人主页:子夜的星的主页💕座右铭:日拱一卒,功不唐捐 文章目录一、前言二、时间复杂度1、定义2、大O的渐进表示法3、常见的时间复杂度三、空间复杂度1、定义2、常见的空间复杂度一、前…...

Linux根文件系统移植

目录 一、根文件系统 1.1根文件系统 1.2根文件系统内容 二、根文件系统移植 2.1BusyBox 2.2BusyBox的获取 2.3BusyBox的使用 2.4make menuconfig 2.5编译和安装 2.6修改根文件系统 一、根文件系统 1.1根文件系统 根文件系统是内核启动后挂载的第一个文件系统系统引…...

Three.js 无限平面快速教程【Plane】

Three.js 提供了 Plane 概念来表示在 3d 空间中无限延伸的二维表面。 这对于光标交互很有用,因此你可能需要了解如何设置此平面、将其可视化并根据需要进行调整。 推荐:使用 NSDT场景设计器 快速搭建 3D场景。 Three.js 的 Plane 文档很好而且准确&…...

在线预览PDF文件、图片,并且预览地址不显示文件或图片的真实路径。

实现在线预览PDF文件、图片,并且预览地址不显示文件或图片的真实路径。1、vue使用blob流在线预览PDF、图片(包括jpg、png等格式)。1、按钮的方法:2、方法详细:(此方法可以在发起请求时携带token&#xff0c…...

Allegro如何设置导入Subdrawing可自由选择目录操作指导

Allegro如何设置导入Subdrawing可自由选择目录操作指导 用Allgro做PCB设计的时候,导入Subdrawing是非常常用的功能,在导入Subdrawing的时候,通常需要把Subdrawing文件放在需要导入PCB的相同目录下,不能自由选择,如下图 但是Allegro是支持自由选择目录的,只需按照下方的步…...

SpirngMVC执行原理--自学版

DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接收请求并拦截请求HandlerMapper为处理器映射。DispatcherServlet调用。HandlerMapping根据请求url查找HandlerHandlerExecution表示具体的Handl…...

获取savemodel的输入输出节点

saved_model_cli show --dir savemodels --all 结果: MetaGraphDef with tag-set: ‘serve’ contains the following SignatureDefs: signature_def[‘translation_signature’]: The given SavedModel SignatureDef contains the following input(s): inputs[‘i…...

《Learning to Reconstruct Botanical Trees from Single Images》学习从单幅图像重建植物树

读书报告下载https://download.csdn.net/download/weixin_43042683/87448211论文原文https://dl.acm.org/doi/10.1145/3478513.3480525论文视频https://www.bilibili.com/video/BV1cb4y127Vp/?fromseopage&vd_source5212838c127b01db69dcc8b2d27ca5171引言植物存在在室外与…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

深度解析云存储:概念、架构与应用实践

在数据爆炸式增长的时代,传统本地存储因容量限制、管理复杂等问题,已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性,成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理,云存储正重塑数据存储与…...

Element-Plus:popconfirm与tooltip一起使用不生效?

你们好&#xff0c;我是金金金。 场景 我正在使用Element-plus组件库当中的el-popconfirm和el-tooltip&#xff0c;产品要求是两个需要结合一起使用&#xff0c;也就是鼠标悬浮上去有提示文字&#xff0c;并且点击之后需要出现气泡确认框 代码 <el-popconfirm title"是…...

python数据结构和算法(1)

数据结构和算法简介 数据结构&#xff1a;存储和组织数据的方式&#xff0c;决定了数据的存储方式和访问方式。 算法&#xff1a;解决问题的思维、步骤和方法。 程序 数据结构 算法 算法 算法的独立性 算法是独立存在的一种解决问题的方法和思想&#xff0c;对于算法而言&a…...

GitHub 常见高频问题与解决方案(实用手册)

1.Push 提示权限错误&#xff08;Permission denied&#xff09; 问题&#xff1a; Bash Permission denied (publickey) fatal: Could not read from remote repository. 原因&#xff1a; 没有配置 SSH key 或使用了 HTTPS 而没有权限…...