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实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
详解python单例模式与metaclass
Jan 15 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
Python装饰器用法实例总结
Feb 07 Python
python3连接MySQL数据库实例详解
May 24 Python
python学习之hook钩子的原理和使用
Oct 25 Python
python binascii 进制转换实例
Jun 12 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
Django用户认证系统 组与权限解析
Aug 02 Python
Django实现发送邮件找回密码功能
Aug 12 Python
python中setuptools的作用是什么
Jun 19 Python
使用pandas模块实现数据的标准化操作
May 14 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
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
php加密解密实用类分享
2014/01/07 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
在vue项目中使用md5加密的方法
2018/09/14 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python学习必备知识汇总
2017/09/08 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
python实现自动解数独小程序
2019/01/21 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
应届生高等护理求职信
2013/10/12 职场文书
思想品德自我评价
2014/02/04 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang