【Python】字符串 - 集大成篇
目录
1. 不同语言的字符串比较
1.1 C 语言
1.2 C ++ 语言
1.2.1 C 风格字符串
1.2.2 C ++ 风格字符串
1.3 JAVA
1.4 Python
2. Python 字符串
2.1 方法
2.2.1 title ()
2.2.2 lower ()
2.2.3 upper ()
2.2.4 rstrip ()
2.2.5 lstrip ()
2.2.6 strip ()
2.2.7 center()
2.2.8 split()
2.2.9 replace()
2.2.10 join()
2.2.11 find()
3. f 字符串
4. 总结
1. 不同语言的字符串比较
程序 收集并定义 某种数据,然后使用他们来做一些有意义的事情。有鉴于此,对数据进行分类大有裨益。
有一种数据,叫做字符串型数据。字符串是字符的集合,不同的编程语言对于字符串的处理并不相同。在 C 语言中,一个字符串指的是 由字符构成的数组;在 C++ 中,字符串既可以指 由字符构成的数组,也可以指一种名叫 string 的数据类型;在 Java 中,字符串是一种名叫 string 的数据类型;同样的,在 Python 中,字符串也是一种 string 数据类型。
接下来分别比较,在不同编程语言中是怎样处理字符串的。
1.1 C 语言
char 变量名[ ] = " 字符串值 "
char arr1[] = "Hello, C !!";printf("%s\n", arr1);
1.2 C ++ 语言
1.2.1 C 风格字符串
一种由字符构成的数组
char 变量名[ ] = " 字符串值 "
char arr[] = " Hello C++ ! ! ";cout << arr << endl;
1.2.2 C ++ 风格字符串
一种数据类型
string 变量名 = " 字符串值"
string arr = " Hello C++ ! ! ";cout << arr << endl;
1.3 JAVA
String 变量名 = " 字符串值 "
String arr = "Hello Java ! !";System.out.println(arr);
1.4 Python
变量名 = " 字符串值 "
name = "aperion"
注:Python 与众不同的一点在于,不用人为的定义变量的数据类型,这些都是由 Python 自动完成。
2. Python 字符串
在 Python 中,字符串也是一种 string 数据类型,用引号括起的都是字符串,其中的引号可以是 单引号,也可以是 双引号。在其他语言中,单引号括起的是字符,双引号阔起的是字符串,这一点区别于 Python 语言。
2.1 方法
字符串的方法太多了,这里只介绍一些最有用的。
2.2.1 title ()
作用:将单词首字母改为大写
name = "lebron james"print(name.title())

2.2.2 lower ()
作用:将单词全部小写
name = "Lebron James"print(name.lower())

2.2.3 upper ()
作用:将单词全部大写
name = "Lebron James"print(name.upper())

2.2.4 rstrip ()
作用:删除字符串尾部空白
在程序中,额外的空白令人迷惑。对 程序员 说,'Python' 和 'Python ' 看起来几乎没有什么两样,但对 程序 来说,它们却是两个不同的字符串。Python 能够发现 'Python ' 中额外的空白,并认为它意义重大。
空白很重要,因为我们经常需要比较两个字符串是否相同。例如:在用户登录网站时,检查其用户名,看看用户有没有误输入空白,如果有,就删除其空白。
language = "Python "print(language)language = language.rstrip()print(language)

- 上图终端中的执行结果看起来一样,实则不一样。打印的第一个 Python 有空格,因为 Python 后面再无字符,所以空格的显现不明显。打印的第二个 Python 没有空格,因为第五行代码的执行,删除了 Python 后面的空格。
2.2.5 lstrip ()
作用:删除字符串开头空白
language = " Python"print(language)language = language.lstrip()print(language)

2.2.6 strip ()
作用:删除字符串两边的空格 (但不包括中间的空白)
text = ' Hello Python !! 'print(text)new_text = text.strip()print(new_text)

2.2.7 center()
作用:通过在两边添加填充字符串(默认为空格)让字符串居中
在 Python 中,center() 方法是一个内置的字符串方法,它允许我们把一个字符串用指定的宽度让字符串居中。center() 方法 返回一个新的字符串,这个新的字符串被指定的字符所填充(默认为空格),同时它也被指定的宽度使得字符串居中。center() 方法的语法如下:
string.center( width [, fillchar] )
语法中的 string 是要居中的字符串,width 得到的是居中字符串的宽度,fillchar 是要使用可选填充的字符。如果未指定 fillchar ,默认情况下使用 空格字符。
# 原始字符串
text = 'Hello Python !'# 居中字符串
centered_text = text.center(20,'-')print(text)print(centered_text)

- 在本例中,原始字符串“Hello,Python!”在 20个字符的宽度内居中,两边用破折号(-)填充。
2.2.8 split()
作用:将字符串拆分为列表
① 分隔符 '+'
text = '1+2+3+4+5+6'new_text = text.split('+')
print(new_text)

② 分隔符 '/'
text = '/usr/bin/env'new_text = text.split('/')
print(new_text)

③ 没有指定分隔符
text = 'usring the default'new_text = text.split()
print(new_text)

- 如果没有指定参数,将默认在单个或多个连续的空白字符(空格、制表符、换行符等)处进行拆分。
2.2.9 replace()
作用:将指定字符子串都替换为另一个字符串,并返回替换后的结果,即查找并替换
text = 'This is C programming langugaes'print(text)new_text = text.replace('C','Python')
print(new_text)

2.2.10 join()
作用:用于合并列表的元素
seq = ['1','2','3','4','5']sep = '+'new_seq = sep.join(seq)
print(new_seq)

dirs = '','usr','bin','env'print('/'.join(dirs))

dirs = '','usr','bin','env'print('C:'+'\\'.join(dirs))

2.2.11 find()
作用:在字符串中查找子串,如果找到,就返回子串的 第一个字符的索引,否则返回 -1。
text = 'With a moo-moo here,and a moo-moo there'print(text.find('moo'))

title = "Monty Python's Flying Circus"print(title.find('Monty'))
print(title.find('Python'))
print(title.find('Flying'))
print(title.find('Zirquss'))

还可指定搜索的起点和终点(它们都是可选的)
subject = '$$$ Get rich now!!! $$$'print(subject.find('$$$'))# 只指定起点
print(subject.find('$$$',1))print(subject.find('!!!'))# 同时指定起点和终点
print(subject.find('!!!',0,16))

3. f 字符串
f 字符串在 python 3.6 版本中引入,该方法使得在字符串中使用变量值简单许多。如果你使用的是 python 3.5 或更早的版本,需要使用 format() 方法,而非这种 f 语法。
作用:在字符串中使用变量
要在字符串中插入变量的值,可在前引号前加上字母 f ,再将要插入的变量放在花括号内。这样,当 Python 显示字符串时,将把每个变量都替换为其值。所以这种字符串名为 f 字符串,f 是 format(设置格式)的简写。
first_name = 'ada'last_name = 'lovelace'full_name = f'{first_name} {last_name}'print(f'Hello, {full_name.title()}')

4. 总结
这篇文章主要讲解了 Python 字符串和其他语言字符串的比较,以及 Python 字符串常用的方法等,如果想要了解更多的 Python 字符串方法,可以参官方文档。这期的分享总结就到这里了,如果有疑问的小伙伴,我们评论区交流嗷~,笔者必回,我们下期再见啦!!
相关文章:
【Python】字符串 - 集大成篇
目录 1. 不同语言的字符串比较 1.1 C 语言 1.2 C 语言 1.2.1 C 风格字符串 1.2.2 C 风格字符串 1.3 JAVA 1.4 Python 2. Python 字符串 2.1 方法 2.2.1 title () 2.2.2 lower () 2.2.3 upper () 2.2.4 rstrip () 2.2.5 lstrip …...
IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤
IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤 、 文章目录IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤IDEA 导入项目模块 Module一. 创建一个空项目二. 导入 Module三. 将 Module 与 当前项目关联上IDEA 将 Java程序打包成…...
算法的效率——时间复杂度和空间复杂度
文章目录1. 算法效率1.1 什么是算法1.2 算法的好坏2. 时间复杂度2.1 什么是时间复杂度2.2 时间复杂度的计算方法2.3 大O的渐进表示法2.4 常见时间复杂度计算举例3. 空间复杂度4. 常见复杂度对比1. 算法效率 1.1 什么是算法 目前普遍认可对算法的定义是:算法是解决…...
2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】
总分:5 一、试题A:ASC 得分:5分 本题总分:5 分 【问题描述】 已知大写字母 A 的 ASCII 码为 65,请问大写字母 L 的 ASCII 码是多少? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提…...
透过等待看数据库
等待分类与解决基本流程步骤1.定位问题系统等待往往能直观的反映出系统问题。通过一些常见的等待类型,同样可以找到系统瓶颈,结合性能计数器往往定位更准确。如:系统中存在大量IO类等待,那么可能表示你的磁盘或内存是语句运行缓慢…...
中科亿海微FPGA
国产FPGA中,紫光、安路、高云称得上是三小龙,其他的半斤八两,中科亿海微也算是其中之一。 其产品为亿海神针系列,如下: 可见其最小规模也有9.2KLUT,最大竟有136K之多了,对比其他国产࿰…...
【链表OJ题(三)】链表中倒数第k个结点
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录链表OJ题(三)1. 链表…...
华为防火墙的学习
防火墙 - 含义和定义 什么是防火墙? 防火墙的工作原理 防火墙的区域: 包过滤防火墙----访问控制列表技术---三层技术 代理防火墙----中间人技术---应用层 状态防火墙---会话追踪技术---三层、四层 UTM---深度包检查技术----应用层 下一代防火墙 防火墙的…...
SPI 接口OLED 模块 - 兼容5V 和3.3V 电平
PCB 布局参考了老王0.8元128x32OLED显示屏转接板,开源项目地址:老王0.8元128x32OLED。 老王家买的屏幕放了快一年了,终于还是决定整个单独的模块,之前一直打算集成到开发板上的,不太灵活。相比那个转接板,主…...
css布局和定位
在Web开发中,CSS布局和定位是非常重要的技能。在这篇博客中,我们将深入探讨CSS布局和定位的概念、基本技术和最佳实践。 **CSS布局基础** ├── 盒模型 │ ├── 内边距 │ │ ├── padding │ │ ├── padding-top │ │ ├── p…...
python -- 批量读取多个文件,并将每个文件中相同变量累加
python – 批量读取多个文件,并将每个文件中相同变量累加 情况描述 现有多个nc文件,位于同一个文件夹中,如下所示每个文件中都有相同的变量,想要读取每个文件中的变量然后将其加起来意思就是说: 文件1中的变量文件2中…...
低代码开发流程是怎么样的?
低代码开发流程是怎么样的?现在很多文章都在下功夫宣传what(低代码是什么)、why(为什么要用低代码),但是很少有文章能够系统讨论how(怎么用低代码)的问题。 所以我花3天的时间准备了…...
任何时候都不要在 for 循环中删除 List 集合元素!!!
首先说结论:无论什么场景,都不要对List使用for循环的同时,删除List集合元素,因为这么做就是不对的。 阿里开发手册也明确说明禁止使用foreach删除、增加List元素。 正确删除元素的方式是使用迭代器(Iteratorÿ…...
koa+Vite+vue3+ts+pinia构建项目
一、 初始化构建项目 npm create vite myProject -- --template vue-ts 注:Vite 需要 Node.js 版本 14.18,16。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版…...
k8s-yaml文件
文章目录一、K8S支持的文件格式1、yaml和json的主要区别2、YAML语言格式二、YAML1、查看 API 资源版本标签2、编写资源配置清单2.1 编写 nginx-test.yaml 资源配置清单2.2 创建资源对象2.3 查看创建的pod资源3、创建service服务对外提供访问并测试3.1 编写nginx-svc-test.yaml文…...
存储引擎
目录 ❤ MySQL存储引擎 什么是存储引擎? MySQL支持哪个存储引擎? ❤ 各种存储引擎的特性 概述 各种存储引擎的特性 各种搜索引擎介绍 ❤ 常用存储引擎及适用场景 ❤ 存储引擎在mysql中的使用 存储引擎相关sql语句 指定存储引擎建表 在建表时指定 在配置文件中…...
Go中 channel的使用
文章目录背景channel 简介使用说明声明发送和接受数据关闭channel使用示例背景 使用 sync 包和 context 包的工具可以实现多个协程之间互相协作, 但是没有一种很好的方式解决多个协程之间通信的问题. golang 作者 Rob Pike 说过一句话,不要通过共享内存来通信&…...
【C++】string OJ练习
文章目录1. 仅仅反转字母思路分析代码实现2. 字符串中的第一个唯一字符题目分析代码实现3. 《剑指offer》——替换空格解法一:寻找替换思路分析代码实现优化解法二:空间换时间思路分析代码实现4.字符串最后一个单词的长度思路分析代码实现5. 字符串相加思…...
进程间通信IPC
进程间通信IPC (InterProcess Communication) 一、进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据…...
操作系统-页面淘汰算法(下)-软件设计(二十六)
操作系统-PV操作(上)-软件设计(二十五)https://blog.csdn.net/ke1ying/article/details/129476031 存储管理-分区存储组织 问:计算机系统内存大小为128k,当前系统分配情况如图,那么作业4再次申…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
