Python编程快速上手——strip()函数的正则表达式实现方法分析


Posted in Python onFebruary 29, 2020

本文实例讲述了Python strip()函数的正则表达式实现方法。分享给大家供大家参考,具体如下:

题目如下:

  • 写一个函数,它接受一个字符串,做的事情和strip()字符串方法一样。如果只传入要去除的字符串(原字符串),没有其他参数,那么就从该字符串首尾去除空白字符串。否则,函数第二个参数指定的字符串将从该字符串中去除

思路如下:

  • 补充:字符串的str.strip()方法,去除字符串首尾指定的字符,只能去除头尾两边,不能去除中间
  • 程序需要做以下的事情:
    接受一个字符串和要去除的字符
    调用函数去除字符串指定头尾字符
    返回去除后的字符串
  • 代码需要做以下的事情:
    def定义一个函数,接受两个参数
    创建正则表达式对象
    返回Regex.sub()替换后的字符串
    input()输入字符串
    print()打印输出函数返回对象
  • 重点分析:
    根据strip()方法特性,去除头尾特定字符需要用到“ ^ ”和“ $ ”符号。
    由于不能事先知道去除哪些字符,因此在正则表达式中需要用到format格式字符串。
    需要用 | “管道"符号在^{0}和{0}$之间插入,匹配多个分组。
    sub()方法返回替换后的字符串,因此sub()方法的第一个参数为”"空。

    *默认去除字符串首尾空白字符,我的方法是在input()输入参数二时,若input() == “”,则重新赋值参数二为" "空格-星号,星号匹配0次或多次分组,能够匹配到所有空格。

代码如下:

import re

def fakeStrip(longStr,str ):
    stripRex = re.compile(r'^{0}|{0}$'.format(str)) 
    return stripRex.sub('',longStr)

inputStr1 = input("请输入原字符串:")
inputStr2 = input("请输入要去除的字符:")
if inputStr2 == '': #若第二参数是否为空,更改为' *',方便正则表达式进行模式匹配
  inputStr2 = ' *'
print("去除后的字符串为:",fakeStrip(inputStr1,inputStr2))

输出结果如下:

  • 去除字符串
    Python编程快速上手——strip()函数的正则表达式实现方法分析
  • 去除空格
    Python编程快速上手——strip()函数的正则表达式实现方法分析
Python 相关文章推荐
Python函数参数类型*、**的区别
Apr 11 Python
python使用wxPython打开并播放wav文件的方法
Apr 24 Python
在Python中使用AOP实现Redis缓存示例
Jul 11 Python
python实现批量视频分帧、保存视频帧
May 31 Python
linux环境中没有网络怎么下载python
Jul 07 Python
python用win32gui遍历窗口并设置窗口位置的方法
Jul 26 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
python 将dicom图片转换成jpg图片的实例
Jan 13 Python
python实现UDP协议下的文件传输
Mar 20 Python
python模拟斗地主发牌
Apr 22 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
python通用读取vcf文件的类(复制粘贴即可用)
Feb 29 #Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 #Python
Python使用GitPython操作Git版本库的方法
Feb 29 #Python
如何使用python代码操作git代码
Feb 29 #Python
使用 Python 遍历目录树的方法
Feb 29 #Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 #Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 #Python
You might like
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
javascript引导程序
2008/10/26 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Keras自定义IOU方式
2020/06/10 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
python dict如何定义
2020/09/02 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
Ejb技术面试题
2015/04/29 面试题
财务管理专业毕业生求职信范文
2013/09/21 职场文书
初中英语教学反思
2014/01/25 职场文书
关于环保的演讲稿
2014/05/10 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
三好学生事迹材料
2014/12/24 职场文书
档案工作个人总结
2015/03/03 职场文书
老乡聚会通知
2015/04/23 职场文书
2015年教研工作总结
2015/05/23 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python