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

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

用户在输入数据时,可能会无意中输入多余的空格,或在一些情况下,字符串前后不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符。例如,图13中“HELLO”这个字符串前后都有一个空格。可以使用Python中提供的strip()方法去除字符串左右两边的空格和特殊字符,也可以使用lstrip()方法去除字符串左边的空格和特殊字符,使用rstrip()方法去除字符串中右边的空格和特殊字符。

H

E

L

L

O

图13  前后包含空格的字符串

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

(1)strip()方法

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

str.strip([chars])

参数说明:

l  str:为要去除空格的字符串。

l  chars:为可选参数,用于指定要去除的字符,可以指定多个。如果设置chars为“@.”,则去除左、右两侧包括的“@”或“.”。如果不指定chars参数,默认将去除空格、制表符“\t”、回车符“\r”、换行符“\n”等。

例如,先定义一个字符串,首尾包括空格、制表符、换行符和回车符等,然后去除空格和这些特殊字符;再定义一个字符串,首尾包括“@”或“.”字符,最后去掉“@”和“.”,代码如下:

str1 = ' http://www.mingrisoft.com  \t\n\r'

print('原字符串str1:' + str1 + '。')

print('字符串:' + str1.strip() + '。')           # 去除字符串首尾的空格和特殊字符

str2 = '@明日科技.@.'

print('原字符串str2:' + str2 + '。')

print('字符串:' + str2.strip('@.') + '。')      # 去除字符串首尾的“@”“.”

上面的代码运行后,将显示如图14所示的结果。

图14  strip()方法示例

(2)lstrip()方法

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

str.lstrip([chars])

参数说明:

l  str:为要去除空格的字符串。

l  chars:为可选参数,用于指定要去除的字符,可以指定多个,如果设置chars为“@.”,则去除左侧包括的“@”或“.”。如果不指定chars参数,默认将去除空格、制表符“\t”、回车符“\r”、换行符“\n”等。

例如,先定义一个字符串,左侧包括一个制表符和一个空格,然后去除空格和制表符;再定义一个字符串,左侧包括一个@符号,最后去掉@符号,代码如下:

str1 = '\t http://www.mingrisoft.com'

print('原字符串str1:' + str1 + '。')

print('字符串:' + str1.lstrip() + '。')         # 去除字符串左侧的空格和制表符

str2 = '@明日科技'

print('原字符串str2:' + str2 + '。')

print('字符串:' + str2.lstrip('@') + '。')      # 去除字符串左侧的@

上面的代码运行后,将显示如图15所示的结果。

图15  lstrip()方法示例

(3)rstrip()方法

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

str.rstrip([chars])

参数说明:

l  str:为要去除空格的字符串。

l  chars:为可选参数,用于指定要去除的字符,可以指定多个,如果设置chars为“@.”,则去除右侧包括的“@”或“.”。如果不指定chars参数,默认将去除空格、制表符“\t”、回车符“\r”、换行符“\n”等。

例如,先定义一个字符串,右侧包括一个制表符和一个空格,然后去除空格和制表符;再定义一个字符串,右侧包括一个“,”,最后去掉“,”,代码如下:

str1 = ' http://www.mingrisoft.com\t '

print('原字符串str1:' + str1 + '。')

print('字符串:' + str1.rstrip() + '。')         # 去除字符串右侧的空格和制表符

str2 = '明日科技,'

print('原字符串str2:' + str2 + '。')

print('字符串:' + str2.rstrip(',') + '。')      # 去除字符串右侧的逗号

上面的代码运行后,将显示如图16所示的结果。

图16  rstrip()方法示例

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

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

相关文章

Beego 使用教程 7:Web 文件上传下载和错误处理

beego 是一个用于Go编程语言的开源、高性能的 web 框架 beego 被用于在Go语言中企业应用程序的快速开发,包括RESTful API、web应用程序和后端服务。它的灵感来源于Tornado, Sinatra 和 Flask beego 官网:http://beego.gocn.vip/ 上面的 bee…

「清新题精讲」Skiers

更好的阅读体验 Skiers Description 给定 n n n 个点的有向无环平面图,求最少多少条从 1 1 1 到 n n n 的路径能覆盖原图的所有边? 1 ≤ n ≤ 5 1 0 3 1\le n\le 5\times10^3 1≤n≤5103 Solution 考虑从 1 1 1 到 n n n 的路径其实是边的链覆…

如何让你的网站能通过域名访问

背景 当我们租一台云服务器,并在上面运行了一个Web服务,我们可以使用云服务器的公网IP地址进行访问,如下: 本文主要记录如何 实现让自己的网站可以通过域名访问。 买域名 可以登录腾讯云等主流公有云平台的,购买域名…

设计模式21——命令模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 命令模式(Command&…

ETCD 备份与还原

安装etcdctl 准备看下etcd如何命令行操作,才发现,主机上,只用kubeadm拉起了etcd,但没有etcdctl命令。 # sudo docker ps -a | awk /etcd-master/{print $1} c4e3a57f05d7 26a11608b270 836dabc8e254 找到正在运行的etcd&#xf…

失落的方舟 命运方舟台服怎么下载游戏客户端 游戏账号怎么注册

《失落的方舟》(Lost Ark)是韩国Smilegate公司精心打造的一款大型多人在线角色扮演游戏(MMORPG),以其精美的画面、沉浸式的剧情、类似动作游戏的战斗体验和广阔的开放世界设定,自面世以来便深受全球玩家喜爱…

计算机毕业设计 | SpringBoot+vue仓库管理系统(附源码)

1,绪论 1.1 项目背景 随着电子计算机技术和信息网络技术的发明和应用,使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里,仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由:一…

一款高级管理控制面板主题!【送源码】

AdminLTE是一个完全响应的管理模板。基于Bootstrap5框架和JavaScript插件。高度可定制,易于使用。适用于从小型移动设备到大型桌面的多种屏幕分辨率。AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。 https://github.com/almasaeed2010/AdminLTE —…

操作系统真象还原:完善MBR

第3章-完善MBR 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 编译器给程序中各符号(变量名或函数名等)分配的地址,就是各符号相对于文件开头的偏移量 。 section 称为节,在有的编译器中,同…

STM32的时钟介绍

目录 前言1. 简介1.1 时钟是用来做什么的1.2 时钟产生的方式 2. 时钟树的组成2.1 时钟源2.1.1 内部时钟2.1.2 外部时钟 2.2 PLL锁相环2.3 SYSCLK2.4 AHB和HCLK2.5 APB和PCLK2.6 总结 3. STM32时钟的如何进行工作4.我的疑问4.1 使用MSI和HSI有什么区别吗?4.2 MSI的频…

Linux系统编程(五)多线程

目录 一、基本知识点二、线程的编译三、 线程相关函数1. 线程的创建2. 线程的退出3. 线程的等待补充 四、综合举例 一、基本知识点 线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个标准…

【4.vi编辑器使用(下)】

一、vi编辑器的光标移动 二、vi编辑器查找命令 1、命令::/string 查找字符串 n:继续查找 N:反向继续查找 /^the 查找以the开头的行 /end 查找以 查找以 查找以结尾的行 三、vi编辑器替换命令 1、语法: : s[范围,范围]str1/str2[g] g表示全…

可视化大屏:随意堆数据,错!要主次分明、重点突出,动静结合。

可视化大屏是一种展示数据的方式,它的设计应该遵循一些原则,以确保信息的传递和理解效果最佳。以下是一些关键点,可以帮助设计出主次分明、重点突出、动静结合的可视化大屏: 定义目标和重点: 在开始设计可视化大屏之前…

NumPy 泊松分布模拟与 Seaborn 可视化技巧

泊松分布 简介 泊松分布是一种离散概率分布,用于描述在给定时间间隔内随机事件发生的次数。它常用于模拟诸如客户到达商店、电话呼叫接入中心等事件。 参数 泊松分布用一个参数来定义: λ:事件发生的平均速率,表示在单位时间…

哈希表练习题(2024/5/29)

1有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输…

C语言数据结构堆排序、向上调整和向下调整的时间复杂度的计算、TopK问题等的介绍

文章目录 前言一、堆排序1. 排升序(1). 建堆(2). 排序 2. 拍降序(1). 建堆(2). 排序 二、建堆时间复杂度的计算1. 向上调整时间复杂度2. 向下调整时间复杂度 三、TopK问题总结 前言 …

Java事务入门:从基础概念到初步实践

Java事务入门:从基础概念到初步实践 引言1. Java事务基础概念1.1 什么是事务?1.2 为什么需要事务? 2. Java事务管理2.1 JDBC 的事务管理2.2 Spring 事务管理2.2.1 Spring JDBC2.2.1.1 添加 Spring 配置2.2.1.2 添加业务代码并测试验证 2.2.2…

Vue项目中使用router

Vite项目中使用router的步骤: 1.安装路由器库: npm install vue-router4 2.创建路由配置:通常命名为 router.js 或者 router/index.js import { createRouter, createWebHashHistory } from vue-router;import Login from ../views/Login.vu…

Jpg与png图片区别

Jpg与png图片有什么区别? JPG(或JPEG)和PNG是两种广泛使用的图像文件格式,它们在压缩技术、文件大小、图像质量、透明度支持等方面有显著的不同: 压缩技术: JPG: 使用有损压缩技术。这意味着在压缩过程中,一…

43-3 应急响应 - WebShell查杀工具

一、WebShell 简介 WebShell是一种以asp、php、jsp等网页文件形式存在的代码执行环境,通常用于网站管理、服务器管理和权限管理等操作。然而,如果被入侵者利用,它也可以用于控制网站服务器。具有完整功能的WebShell通常被称为"大马",而功能简单的则称为"小马…