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拥有许多独特的优势&…

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

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

Nettyの源码分析

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

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

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

【嵌入式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. 为什么可以这样做 五、运行效果…

python库(6):Pygments库

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

ValueError: Expected EmbeddingFunction.__call__ to have the following signature

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

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

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

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

✨ 愿随夫子天坛上,闲与仙人扫落花 🌏 📃个人主页:island1314 🔥个人专栏:C学习 🚀 欢迎关注:👍点赞…

CVE-2024-0603 漏洞复现

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

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

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

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

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

Hi6602 恒压恒流SSR电源方案

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

17.优化算法之解决拓扑排序4

0.基础 1.课程表1 207. 课程表 - 力扣&#xff08;LeetCode&#xff09; class Solution {public boolean canFinish(int n, int[][] p) {// 1. 准备⼯作int[] in new int[n]; // 统计每⼀个顶点的⼊度Map<Integer, List<Integer>> edges new HashMap<>…

第六十周:文献精读

目录 摘要 Abstract 文献阅读&#xff1a;可解释多水平时间序列预测的时间融合Transformer 一、多水平预测&#xff08;Multi-horizon forecasting&#xff09; 二、过去相关研究 三、现存问题 四、提出方法 五、模型架构 1、门控残差网络(GRN) 2、变量选择网络 3、…

android中activity与fragment之间的各种跳转

我们以音乐播放、视频播放、用户注册与登录为例【Musicfragment&#xff08;音乐列表页&#xff09;、Videofragment&#xff08;视频列表页&#xff09;、MusicAvtivity&#xff08;音乐详情页&#xff09;、VideoFragment&#xff08;视频详情页&#xff09;、LoginActivity&…

开始尝试从0写一个项目--后端(二)

实现学生管理 新增学生 接口设计 请求路径&#xff1a;/admin/student 请求方法&#xff1a;POST 请求参数&#xff1a;请求头&#xff1a;Headers&#xff1a;"Content-Type": "application/json" 请求体&#xff1a;Body&#xff1a; id 学生id …

OneFormer

按照INSTALL.md无法安装natten&#xff0c;不建议复现

1120 买地攻略

solution 土地需要连续&#xff0c;联想到用前缀和。用前缀和表示前i块土地的总价钱&#xff0c;易得任意片连续的土地价格 #include<iostream> using namespace std; const int maxn 1e4 10; int main(){int n, m, price[maxn] {0}, ans 0;scanf("%d%d"…