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

PYTHON学习笔记(八、字符串及的使用)

目录

1、字符串

1.1、字符串的常用操作

1.2、格式化字符串

1.2.1、占位符格式化字符串

1.2.2、f-string格式化字符串

1.2.3、str.format( )格式化字符串

1.3、数据的验证

1.4、正则表达式

1.5.1元字符

1.5.2限定符

1.5.3其他字符

1.5.4re模块


1、字符串

1.1、字符串的常用操作

方法名

描述说明

str.lower()

str字符串全部转成小写字母,结果为一个新的字符串

str.upper()

str字符串全部转成大写字母,结果为一个新的字符串

str.split(sep=None)

str按照指定的分隔符sep进行分隔,结果为列表类型

str.count(sub)

结果为sub这个字符串在str中出现的次数

str.find(sub)

查询sub这个字符串在str中是否存在,如果不存在结果为-1,如果存在,结果为sub首次出现的索引

str.index(sub)

功能与find()相同,区别在于要查询的子串sub不存在时,程序报错

str.startswith(s)

查询字符串str是否以子串s开头

str.endswith(s)

查询字符串str是否以子串s结尾

str.replace(old,news)

使用news替换字符串s中所有的old字符串,结果是一个新的字符串

str.center(width,fillchar)

字符串str在指定的宽度范围内居中,可以使用fillchar进行填充

str.join(iter)

iter中的每个元素的后面都增加一个新的字符串str

str.strip(chars)

从字符串中去掉左侧和右侧chars中列出的字符串

str.lstrip(chars)

从字符串中去掉左侧chars中列出的字符串

str.rstrip(chars)

从字符串中去掉右侧chars中列出的字符串

1.2、格式化字符串

格式化字符串是指在字符串中插入特定的占位符,以便在运行时将变量的值动态地替换成字符串中的相应位置。

通过格式化字符串,可以方便地将变量的值和其他文本内容组合成一个完整的字符串。在许多编程语言中,都有内置的格式化字符串的函数或语法。

格式化字符串有3种方法:占位符、f-string、str.format( )。

1.2.1、占位符格式化字符串

当我们使用占位符时,有以下三种占位符时较为常用的:

占位符描述
%s替换字符串格式
%d替换十进制整数格式
%f替换浮点数格式

对于这几种占位符的使用,早在ROS学习笔记(九、Python编写服务器和客户端)中已有使用。【【链接如下:http://t.csdnimg.cn/j7mpV】】

在ros笔记中编写服务器时,我们编写的代码如下所示:

在1位置处,在一个完整的字符串中使用了%s占位符,在完整的字符串外面,则是变量的值,最后将会输出“ hello world ( time ) ”。

同理,可得%d和%f的使用方法。

1.2.2、f-string格式化字符串

f-string的使用格式早在我的PYTHON学习笔记(一、python基础语法)中有过涉及。具体代码如下所示:

【【链接如下:http://t.csdnimg.cn/nzLJe】】

name = '小鬼'
age = '18'
score = '99.99'
d1 = f'我的名字是:{name},我的年龄是:{age},我的考试的分数是:{score}'
print(d1)输出结果:
我的名字是:小鬼,我的年龄是:18,我的考试的分数是:99.99

1.2.3、str.format( )格式化字符串

str.format( )格式化字符串的意思是:通过在大括号中放入序列号,按照序列号调用format( )函数中的变量的方法。

示例如下:

name = '小鬼'
age = '18'
score = '99.99'
d1 = '我的名字是:{0},我的年龄是:{1},我的考试的分数是:{2}'
print(d1.format(name,age,score))输出结果:
我的名字是:小鬼,我的年龄是:18,我的考试的分数是:99.99

当然,format( )函数可以做到更加详细的应用,有如下一些应用:

形式描述
引导符号,后面的所有符号都需要引导符
填充用于填充单个字符
对齐方式<为左对齐,>右对齐,^居中对齐
宽度字符串的输出宽度
数字的千位分隔符
.精度浮点数,小数部分的精度或字符串的最大输出长度
类型

整数类型:b/d/o/x/X

浮点数类型:e/E/f/%

1.3、数据的验证

数据的验证是指:程序对用户输入的数据进行合法性的验证。

数据的验证包含以下指令,可以对数据进行验证:

方法名

描述说明

str.isdigit()

所有字符都是数字(阿拉伯数字)

str. isnumeric()

所有字符都是数字

str. isalpha()

所有字符都是字母(包含中文字符)

str.isalnum()

所有字符都是数字或字母(包含中文字符)

str.islower()

所有字符都是小写

str.isupper()

所有字符都是大写

str.istitle()

所有字符都是首字母大写

str.isspace()

所有字符都是空白字符(\n\t等)

1.4、正则表达式

正则表达式是一种用于匹配和处理文本的工具,它可以用来在文本中查找、替换、提取或验证特定的模式。正则表达式可以快速、方便地对文本进行复杂的操作,因此在计算机科学和软件开发中非常常用。

正则表达式的出现主要是为了满足处理文本的需求。在大量的文本处理任务中,如文本搜索、文件批量处理、数据清洗等,正则表达式可以帮助我们高效地完成工作。正则表达式具有强大的模式匹配能力,在处理复杂的文本结构时非常有用。

通过使用正则表达式,我们可以灵活地指定需要匹配的模式,包括具体的字符、字符集合、数量、位置等。正则表达式还提供了一些特殊字符和操作符,用于表示特定的模式,如通配符、分组、选择、重复等。通过灵活地组合和使用这些模式和操作符,我们可以实现对文本的精确匹配和处理。

1.5.1元字符

元字符是:具有特殊意义的专用字符。

描述说明

举例

结果

匹配任意字符(除\n

p\nytho\tn

pytho\tn

匹配字母、数字、下划线

python\n123’

python123

匹配非字母、数字、下划线

python\n123’

\n

匹配任意空白字符

python\t123’

\t

匹配任意非空白字符

python\t123’

python123

匹配任意十进制数

python\t123’

123

1.5.2限定符

限定符是:是用来限定匹配次数的

限定

描述说明

举例

结果

匹配前面的字符0次或1

colou?r

可以匹配colorcolour

+

匹配前面的字符1次或多次

colou+r

可以匹配colourcolouu...r

*

匹配前面的字符0次或多次

colou*r

可以匹配colorcolouu....r

{n}

匹配前面的字符n

colou{2}r

可以匹配colouur

{n,}

匹配前面的字符最少n

colou{2,}r

可以匹配colouurcolouuu...r

{n,m}

匹配前面的字符最小n次,最多m

colou{2,4}r

可以匹配colouurcolouuurcolouuuur

1.5.3其他字符

其它字符

描述说明

举例

结果

区间字符[ ]

匹配[ ]中所指定的字符

[.?!]

[0-9]

匹配标点符号点、问号,感叹号

匹配0123456789

排除字符^

匹配不在[ ]中指定的字符

[^0-9]

匹配除0123456789的字符

选择字符|

用于匹配|左右的任意字符

\d{18}|\d{15}

匹配15位身份证或18位身份证

转义字符

Python中的转义字符

\.

.作为普通字符使用

[\u4e00-\u9fa5]

匹配任意一个汉字

分组()

改变限定符的作用

six|fourth

(six|four)th

匹配sixfourth

匹配sixthfourth

1.5.4re模块

re模块是内置模块,用于实现python中正则表达式的操作。

函数

功能描述

re.match(pattern,string,flags=0)

用于从字符串的开始位置进行匹配,如果起始位置匹配成功,结果为Match对象,否则结果为None

re.search(pattern,string,flags=0)

用于在整个字符串中搜索第一个匹配的值,如果匹配成功,结果为Match对象,否则结果为None

re.findall(pattern,string,flags=0)

用于在整个字符串搜索所有符合正则表达式的值,结果是一个列表类型。

re.sub (pattern,repl,string,count,flags=0)

用于实现对字符串中指定子串的替换

re.split(pattern,string,maxsplit,flags=0)

字符串中的split()方法功能相同,都是分隔字符串

我们对字符串的学习就结束了!!!(●ˇ∀ˇ●)

相关文章:

PYTHON学习笔记(八、字符串及的使用)

目录 1、字符串 1.1、字符串的常用操作 1.2、格式化字符串 1.2.1、占位符格式化字符串 1.2.2、f-string格式化字符串 1.2.3、str.format( )格式化字符串 1.3、数据的验证 1.4、正则表达式 1.5.1元字符 1.5.2限定符 1.5.3其他字符 1.5.4re模块 1、字符串 1.1、字符…...

文件共享功能无法使用提示错误代码0x80004005【笔记】

环境情况&#xff1a; 其他电脑可以正常访问共享端&#xff0c;但有一台电脑访问提示错误代码0x80004005。 处理检查&#xff1a; 搜索里输入“启用或关闭Windows功能”按回车键&#xff0c;在“启用或关闭Windows功能”里将“SMB 1.0/CIFS文件共享支持”勾选后&#xff08;故…...

FTP(File Transfer Protocal,文件传输协议)

文章目录 引言FTP管理工具FTP客户端FTP连接模式控制连接数据连接FTP命令/响应FTP命令FTP响应FTPSSFTP引言 FTP(File Transfer Protocal,文件传输协议)用于建立两台主机间的数据文件传输下载。使用客户/服务器(Client/Server)架构,基于TCP协议,服务端口为21。 FTP链接…...

DevEco Studio中使用Qt,编写HarmonyOS程序

文章目录 1.操作2.注意事项2.1.adapter_ts2.1.手机插到电脑后&#xff0c;DevEco无法识别 1.操作 最近需要尝试把之前在Windwos下用Qt实现的程序移植到鸿蒙&#xff08;HarmonyOS&#xff09;系统上。 我使用的DevEco版本是5.03.501 找了一下资料&#xff0c;官方&#xff0…...

基于单文档的MFC图像增强

目录 function.h ColorEnhanceDib.h ColorEnhanceDib.cpp Dib.h Dib.cpp FrequencyFilterDib.h FrequencyFilterDib.cpp GrayTransformDib.h GrayTransformDib.cpp HistogramDib.h HistogramDib.cpp SharpenProcessDib.h SharpenProcessDib.cpp SmoothProcessDib.h Sm…...

云计算实训13——DNS域名解析、ntp时间服务器配置、主从DNS配置、多区域DNS搭建

一、DNS域名解析 1.正向解析 将域名解析为IP地址 DNS正向解析核心配置 (1)安装bind [rootdns ~]# yum -y install bind (2)编辑配置文件 编辑named.conf文件&#xff0c;限定访问权限 [rootdns ~]# vim /etc/named.conf 编辑named.rfc文件&#xff0c;指定要访问的域名 [ro…...

【C#】Visual Studio2022打包依赖第三方库的winForm程序为exe

0.简介 IDE&#xff1a;VS2022 平台&#xff1a;C# .NetFramework4.7.2 WinForm界面 有GDAL、EEplus第三方库的依赖&#xff0c;所以在其他未安装环境的电脑中功能无法使用。 1. 安装 1.1 运行文件输出 在VS扩展中选择管理扩展&#xff0c;安装&#xff1a;Microsoft Visua…...

《算法笔记》总结No.11——数字处理(上)欧拉筛选

机试中存在部分涉及到较复杂数字的问题&#xff0c;这是编码的基本功&#xff0c;各位一定要得心应手。 目录 一.最大公约数和最小公倍数 1.最大公约数 2.最小公倍数 二.素数 1.判断指定数 2.输出所有素数 3.精进不休——埃拉托斯特尼筛法 4.达到更优&#xff01;——…...

DP学习——享元模式

学而时习之&#xff0c;温故而知新。 享元模式 名词解析 有必要解释下“享元”两字&#xff0c;英文原文是flyweight pattern——轻量级模式&#xff0c;但是翻译过来的“享元”两字太牛逼了——褒贬不一&#xff0c;翻译的他妈都不认识。 享元的高雅在于: 享:共享/共用 元:…...

无人机10公里WiFi图传摄像模组,飞睿智能超清远距离无线监控,智能安防新潮流

在这个科技日新月异的时代&#xff0c;我们对影像的捕捉和传播有了更高的要求。从传统的有线传输到无线WiFi图传&#xff0c;每一次技术的飞跃都为我们带来了全新的视觉体验。今天&#xff0c;我们要探讨的&#xff0c;正是一款具有划时代意义的科技产品——飞睿智能10公里WiFi…...

SAP S/4HANA Cloud Public Edition

即装即用的云ERP软件。借助SaaS模式为企业提供完备、现代化的ERP 云套件&#xff0c;为企业带来新的技术突破&#xff0c;如自动化的业务流程与基于数据的商业分析。企业可选择这款智能云ERP软件&#xff0c;快速实现自身价值。 什么是 SAP S/4HANA Cloud Public Edition&#…...

LabVIEW汽车动态信号模拟系统

随着汽车工业的快速发展&#xff0c;对汽车电子控制单元&#xff08;ECU&#xff09;的测试与仿真需求日益增加。开发了一种基于LabVIEW软件开发的汽车动态信号模拟系统&#xff0c;该系统能有效模拟ECU在实车环境下的工作状态&#xff0c;为ECU的开发和测试提供了一个高效、经…...

chrome 插件:content-script 部分逻辑在页面无法生效,可考虑插入 script 到页面上

背景: 某页面有个输入框, 用的应该是什么库里的组件, 直接修改内容不生效/机制不明确, 于是使用 paste event 粘贴到输入框, 结果发现也不行 定位: 使用 mutationObserver , 发现事件确实触发了, 输入框内容变了, 但马上又变回来了, 于是怀疑是输入框组件有做 mutationObers…...

【前端 10】初探BOM

初探BOM&#xff1a;浏览器对象模型 在JavaScript的广阔世界中&#xff0c;BOM&#xff08;Browser Object Model&#xff0c;浏览器对象模型&#xff09;扮演着举足轻重的角色。它为我们提供了一套操作浏览器窗口及其组成部分的接口&#xff0c;让我们能够通过编写JavaScript…...

PostgreSQL入门与进阶学习,体系化的SQL知识,完成终极目标高可用与容灾,性能优化与架构设计,以及安全策略

​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 概述基础篇初级篇进阶篇…...

ODBC+FreeTDS从Linux访问Windows SqlServer数据库

提示 \color{red}{提示} 提示&#xff1a; 《Linux系统上编译安装FreeTDS库文件》中讲述了如何编译FreeTDS源码&#xff0c;并安装。 本文部分内容会在上述文章的基础上深入。 本文内容所使用的环境 Windows系统&#xff1a;Windows 10 企业版 64位操作系统&#xff1b;IP&a…...

Chainlit一个快速构建成式AI应用的Python框架,无缝集成与多平台部署

概述 Chainlit 是一个开源 Python 包&#xff0c;用于构建和部署生成式 AI 应用的开源框架。它提供了一种简单的方法来创建交互式的用户界面&#xff0c;这些界面可以与 LLM&#xff08;大型语言模型&#xff09;驱动的应用程序进行通信。Chainlit 旨在帮助开发者快速构建基于…...

leetcode日记(51)不同路径Ⅱ

和上一道题&#xff08;无障碍物的最短路径&#xff09;很像&#xff0c;但事实上比上一题多了优化方法 根据上一题改的代码如下&#xff0c;添加了对障碍物的判定&#xff0c;如果有障碍物则将数组值设为0。 class Solution { public:int uniquePathsWithObstacles(vector&l…...

图解分布式事务中的2PC与Seata方案

文章目录 文章导图什么是2PC解决传统2PC方案XA方案DTP模型举例&#xff1a;新用户注册送积分总结&#xff1a; Seata方案设计思想执行流程举例&#xff1a;新用户注册送积分 Seata实现2PC事务&#xff08;AT模式&#xff09;前提整体机制写隔离读隔离实际案例理解要点说明核心代…...

数据结构(Java):Map集合Set集合哈希表

目录 1、介绍 1.1 Map和Set 1.2 模型 2、Map集合 2.1 Map集合说明 2.2 Map.Entry<K&#xff0c;V> 2.3 Map常用方法 2.4 Map注意事项及实现类 3、Set集合 3.1 Set集合说明 3.2 Set常用方法 3.3 Set注意事项及其实现类 4、TreeMap&TreeSet 4.1 集合类TreeM…...

结构函数:电子封装热分析的关键技术解析

1. 结构函数&#xff1a;热分析领域的核心桥梁在电子封装设计与散热方案开发中&#xff0c;热特性分析一直是个令人头疼的问题。想象一下&#xff0c;你手里拿着一块正在发烫的芯片&#xff0c;却无法直接"看到"热量是如何在内部传递的——这就像医生无法用X光检查病…...

Hermes Agent:引爆企业AI革命!自进化智能体协作实战与落地指南

Hermes Agent 是一款自进化AI代理系统&#xff0c;具备完整学习循环、跨会话记忆、用户建模等核心特性。本文深入解析其架构、多智能体协作机制及自进化能力&#xff0c;并通过智能客服、DevOps自动化、数据分析等企业级案例&#xff0c;展示如何构建高效AI代理系统。同时提供性…...

深度强化学习在航天控制中的仿真到实物迁移挑战

1. 深度强化学习在航天控制领域的应用背景卫星近距离操作是航天任务中的一项关键技术挑战&#xff0c;涉及轨道交会、在轨服务、空间目标检测等多种场景。传统基于模型预测控制&#xff08;MPC&#xff09;的方法需要精确的环境动力学模型&#xff0c;而实际太空环境中存在诸多…...

工业电气安全:电弧闪爆防护与Rittal机柜解决方案

1. 电弧闪爆现象的本质解析电弧闪爆&#xff08;Arc Flash&#xff09;是工业电气系统中最具破坏性的安全隐患之一。作为一名在电力行业工作15年的安全工程师&#xff0c;我亲眼见证过多次由电弧闪爆引发的严重事故。最令人震惊的是2008年某化工厂的案例&#xff1a;一位电工在…...

不止于Java:在Termux的Ubuntu子系统里,我这样配置Python/Node.js多语言开发环境

不止于Java&#xff1a;在Termux的Ubuntu子系统里配置Python/Node.js多语言开发环境 将手机变成便携式开发工作站早已不是天方夜谭。通过Termux和proot-distro搭建的Ubuntu子系统&#xff0c;开发者可以在Android设备上构建完整的Linux开发环境。与局限于单一语言的解决方案不同…...

016、气压计原理与高度测量

飞控算法从入门到精通 016 气压计原理与高度测量 一、一次炸机带来的教训 去年夏天,我在一个四轴飞行器上调试定高悬停。气压计用的是MS5611,数据手册翻烂了,滤波算法也上了,地面站里高度曲线看着挺平滑。结果一上天,飞机像喝醉了酒——先是莫名其妙往下掉半米,然后猛…...

C语言指针:从零掌握指针(5) 完结篇

文章目录C语言指针&#xff1a;从零掌握指针&#xff08;5&#xff09; 完结前言一、回调函数1.1 什么是回调函数&#xff1f;1.2 使用回调函数二、qsort函数2.1 qsort基础2.2 排序整形数据2.3 排序浮点型数据2.4 排序结构数据三&#xff0c;qsort函数模拟实现C语言指针&#x…...

Windows安卓开发环境一键配置:告别繁琐驱动的终极解决方案

Windows安卓开发环境一键配置&#xff1a;告别繁琐驱动的终极解决方案 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/l…...

Python爬虫实战:构建智能职位信息聚合工具JobClaw

1. 项目概述&#xff1a;一个面向开发者的智能职位信息聚合与解析工具最近在帮团队招聘和看机会的朋友聊天&#xff0c;发现一个挺普遍的问题&#xff1a;大家找技术岗位&#xff0c;要么在几个主流招聘App上反复刷&#xff0c;信息分散且格式不一&#xff1b;要么就是盯着几个…...

Nodejs后端服务如何稳定调用Claude并避免封号风险

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Nodejs后端服务如何稳定调用Claude并避免封号风险 1. 后端集成Claude的常见挑战 在Node.js后端服务中集成Claude模型&#xff0c;…...