replace()方法——替换字符串

news2025/1/13 15:43:26

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

语法参考

replace()方法用于将某一字符串中一部分字符替换为指定的新字符,如果不指定新字符,那么原字符将被直接去除,例如图1和图2所示的效果。

replace()方法的语法格式如下:

str.replace(old [, new [, count]])

l  old:将被替换的子字符串。

l  new:字符串,用于替换old子字符串。

l  count:可选参数,表示要替换的次数,如果不指定该参数则替换所有匹配字符,而指定替换次数时的替换顺序是从左向右依次替换。

    快用锦囊

锦囊1  替换字符串中指定的字符

使用replace()函数将字符串“www.risoft.com”中的“soft”替换为“book”,代码如下:

str1 = 'www.risoft.com'

print (str1.replace('soft', 'book'))

运行程序,输出结果为:

www.ribook.com

锦囊2  去除大段文本中的标点字符

经常在网上查阅资料,有时复制的网页内容中会夹杂一些乱七八糟的标点字符,如#、$、%、&、'、(、)、*、+、,等,那么此时可以使用replace()方法将这些标点字符去除,实际上就是将它们替换为空,代码如下:

import string

f = open('./tmp/test3.txt', 'r')

s=f.read()

for in string.punctuation:

    s=s.replace(c,'')

print(s)

上述代码中用到了string模块,该模块的punctuation属性包含了所有的标点字符。

运行程序,去除标点字符前后的效果如图3和图4所示

图3  原文

图4  去除标点字符后的效果

锦囊3  去除大段文本中的数字

当文本中存在一些无用的数字时,也可以使用replace()方法并结合string模块digits属性将这些数字去除,代码如下:

import string

f = open('./tmp/test4.txt', 'r')

s=f.read()

for in string.digits:

    s=s.replace(c,'')

print(s)

运行程序,去除标点字符前后的效果如图5和图6所示

图5  原文

图6  去除数字后的效果

锦囊4  身份证号中的重要数字用星号代替

身份证号或手机号等重要的数据不能随意传递,可以把其中的几个重要数字用星号代替,以起到保护隐私的作用,如图7所示。

图7  身份证号中的重要数字用星号代替

说明:图中数据为随意编造做演示用,无具体含义。

下面使用replace()方法将身份证号中间8位替换为星号“*”,代码如下:

str1 = '333333201501012222'

s1=str1[6:14]

print (str1.replace(s1, '********'))

运行程序,输出结果为:

333333********2222

使用此方法还可以替换姓名、手机号等涉及隐私的内容。

锦囊5  仅显示字符串中的字母与数字

在一些应用软件中,经常会遇到要求用户仅输入字母和数字的情况。下面使用replace()方法对输入的内容自动过滤仅显示字符串中的字母和数字。例如,输入车号“888-吉A-UA561”将自动过滤汉字和特殊符号,仅显示“888AUA561”,代码如下:

str1=input('请输入车号:')

str2 = str1.lower();  #将大写字母转换为小写字母

temp= 'abcdefghijklmnopqrstuvwxyz0123456789'

for in str2:

    if not in temp:

      str1 = str1.replace(c,'');

print(str1)

运行程序,输出结果为:

请输入车号:888-吉A-UA561

888AUA561

锦囊6  删除任意位置的相同的字符

删除任意位置的相同的字符。例如,字符串中有多处包含了“\t”,下面使用replace()方法将所有“\t”删除,代码如下:

# 去除字符串中相同的字符

s = '\tmrsoft\t888\tbook'

print(s.replace('\t',''))

运行程序,输出结果为:

mrsoft888book

锦囊7  通过多次使用replace()方法删除多种特殊符号

通过多次使用replace()方法,将文本中的特殊字符,如“/”、“_”和“*”等删除,代码如下:

temp ='想做/ 兼_职/程序员_/ 的加我Q: 400*765@1066有,惊,喜,哦!!'

print(temp.replace(' ','').replace("*",'').replace('_','').replace('、','').replace('/','').replace(',',''))

运行程序,输出结果为:

想做兼职程序员的加我Q:400765@1066有惊喜哦!!

锦囊8  Python爬取文本用replace()方法替换p标签

通过Python爬取了“百度知道”中全国985院校有哪些的相关内容,但是文本中存在大量的p标签,例如,“<p>1. 清华大学(北京)</p><p>2. 北京大学(北京)</p><p>……”。下面使用replace()方法将标签“<p>”,将标签“</p>”替换成换行符“\n”,代码如下:

f = open('./tmp/text.txt''r')  #打开文本

s=f.read()

s=s.replace('<p>','').replace('</p>','\n') #替换p标签

print(s,end='')                  #输出去掉空行

运行程序,处理前后的效果如图8、图9所示

 

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

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

相关文章

数据库取出来的日期格式是数组格式,序列化日期格式

序列化前&#xff0c;如图所示&#xff1a; 解决方式&#xff0c;序列化日期&#xff08;localdatetime&#xff09;格式 步骤一、添加序列化类 package com.abliner.test.common.configure;import com.alibaba.fastjson.serializer.JSONSerializer; import com.alibaba.fas…

[图解]企业应用架构模式2024新译本讲解19-数据映射器1

1 00:00:01,720 --> 00:00:03,950 下一个我们要讲的就是 2 00:00:04,660 --> 00:00:07,420 数据映射器这个模式 3 00:00:09,760 --> 00:00:13,420 这个也是在数据源模式里面 4 00:00:13,430 --> 00:00:14,820 用得最广泛的 5 00:00:16,250 --> 00:00:19,170…

高编:进程间通信 IPC interprocess communicate

一、进程间三大类通信 1、古老的通信方式 无名管道 有名管道 信号 2、IPC对象通信 system v(5) BSD suse fedora kernel.org 消息队列(用的相对少&#xff0c;这里不讨论) 共享内存 信号量集(进程间做互斥与同步semaphore) 3、socket通信 网络通…

AD快速导入立创3D模型

在AD绘制PCB时&#xff0c;可以添加3D模型&#xff0c;在绘制完成PCB后就可以导出3D图给结构工程师核对&#xff0c;方便产品的开发。这里介绍一种可以比较快完成3D导入的方式。 一、PyCharm代码 打开PyCharm&#xff0c;在运行本代码时&#xff0c;需要安装第三方包codecs&a…

synchronized用法解析

锁的意义&#xff1a; 比如我跟我老弟要用电脑&#xff0c;我想学java&#xff0c;他想拿电脑打LOL&#xff0c;如果我敲java代码敲的正嗨皮&#xff0c;他突然把电脑抢了过去&#xff0c;代码还没保存&#xff0c;就被他拿去打LOL了&#xff0c;很✓8&#xff0c;那么如何解决…

基于人脸68特征点识别的美颜算法(一) 大眼算法 C++

1、加载一张原图&#xff0c;并识别人脸的68个特征点 cv::Mat img cv::imread("5.jpg");// 人脸68特征点的识别函数vector<Point2f> points_vec dectectFace68(img);// 大眼效果函数Mat dst0 on_BigEye(800, img, points_vec);2、函数 vector<Point2f&g…

BMA580 运动传感器

型号简介 BMA580是博世&#xff08;bosch-sensortec&#xff09;的一款先进的、超小型加速度传感器。具有独特的骨传导语音活动检测功能和先进的功率模式功能&#xff0c;是世界上最小的加速度传感器&#xff08;1.2 x 0.8 x 0.55 mm&#xff09;。它专为紧凑型设备&#xff08…

Query Rewriting for Retrieval-Augmented Large Language Models

文章目录 题目摘要方法实验 题目 检索增强大语言模型的查询重写 论文地址&#xff1a;https://arxiv.org/abs/2305.14283 项目地址&#xff1a;https://github.com/xbmxb/RAG-query-rewriting 摘要 大语言模型&#xff08;LLM&#xff09;在检索--然后阅读&#xff08;retriev…

Hack The Box-Blazorized

总体思路 Blazor JWT->SPN劫持->登录脚本劫持->DCSync 信息收集&端口利用 nmap -sSVC blazorized.htbStarting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-01 02:37 EDT Nmap scan report for blazorized.htb (10.10.11.22) Host is up (0.30s latency). N…

【网络安全】修改Host文件实现域名解析

场景 开发一个网站或者服务&#xff0c;需要在本地测试时&#xff0c;可以将线上的域名指向本地开发环境的IP地址。从而模拟真实环境中的域名访问&#xff0c;方便调试和开发。 步骤 1、以管理员身份打开命令提示符 2、编辑hosts文件&#xff1a; 输入以下命令打开hosts文…

云卓SKYDROID-H12PRO——只有你想不到的,没有我们做不到的

H12PRO采用高通八核处理器&#xff0c;搭载安卓嵌入式系统&#xff0c;采用先进的OFDM技术&#xff0c;和超级协议栈。让图像更加清晰&#xff0c;延迟更低&#xff0c;距离更远&#xff0c;抗干扰性更强&#xff0c;并支持1080P视频传输。支持SIM、数字摄像头、串口、s.bus、网…

SQL注入实战

1、orderBy报错注入 某大学 www.target.com?orderBy1 注入为orderBy注入&#xff0c;将orderby更改为id测试时并不能造成报错回显故不能当注入点 正常状态下 经过测试可知共14列&#xff0c;orderBy15时报错&#xff0c;由于列名可控?orderby$id 这里使用XPath报错注入&a…

放大器的输入电容Cin对放大电路的影响

1、OPA859构成的放大电路的设计 图中OPA859的增益G设定为1.16 &#xff0c;OPA859的增益带宽积GBP 900M , 放大器的带宽BW GBP / Acl 900 / 1.16 775.86M。 图&#xff1a;OPA859放大电路 由于需要在放大电路上加带宽的限制&#xff0c;所以在OPA859放大电路上有个低通限…

Java + MySQL 实现存储完整 Json

Java + MySQL 实现存储完整 Json 一、应用场景二、数据库配置三、后端代码配置1、实体类2、Service 实现类3、xml 文件四、测试1、新增接口2、查询接口3、数据表内容一、应用场景 将前端传过来的 Json 完整存储到 MySQL 中,涉及技术栈为 Java、MyBatis、MySQL。 注意:MySQL…

idea xml ctrl+/ 注释格式不对齐

处理前 处理后 解决办法 取消这两个勾选

LabVIEW代码性能优化

优化LabVIEW代码以提高软件性能是确保系统高效运行的关键。通过分析代码结构、数据管理、并行处理、内存使用和硬件资源的有效利用&#xff0c;我们可以从多个角度提升LabVIEW程序的执行速度和稳定性。 代码结构优化 模块化编程 将复杂的程序分解成多个子VI&#xff0c;每个子V…

Linux系统中交叉编译opencv库

目标&#xff1a;将opencv进行交叉编译&#xff0c;使其能在rk3326板子上运行使用。 环境&#xff1a; ubuntu&#xff1a;18.04 opencv:4.5.4 opencv源码从挂网下载&#xff1a;opencv源码下载地址 交叉编译链&#xff1a;gcc-arm-10.3-linux-gun 一.环境准备 1.交叉编译链我…

论文学习——使用基于多项式拟合的预测算法求解动态多目标问题

论文题目&#xff1a;Solving dynamic multi-objective problems using polynomial fitting-based prediction algorithm 使用基于多项式拟合的预测算法求解动态多目标问题&#xff08;Qingyang Zhang , Xiangyu He,Shengxiang Yang , Yongquan Dong , Hui Song , Shouyong Ji…

shopify后台设置为中文

shopify官网&#xff1a;https://link.juejin.cn/?targethttps%3A%2F%2Fshopify.dev%2F 1、点击右上角头像 2、选择个人资料 3、找到Language设置 开发者 1、创建开发商店 2、 3、点击左侧导航在线商店&#xff0c;点击右上角查看你的商店。在线商店链接为https://[商店名…

【FPGA 学习与实践】<初阶> 项目周计划

第1-2周&#xff1a;基础项目 - 4位加法器和计数器 目标&#xff1a;掌握Verilog基本语法和模块设计。 第1周&#xff1a; 学习Verilog的基本语法和结构&#xff08;模块、端口、数据类型&#xff09;。设计并实现一个4位加法器。编写测试平台&#xff08;Testbench&#xff0…