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编程中线程的创建与锁的使用
Feb 28 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
好的Python培训机构应该具备哪些条件
May 23 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
一步步教你用python的scrapy编写一个爬虫
Apr 17 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 Python
Python列表切片常用操作实例解析
Mar 10 Python
python实现UDP协议下的文件传输
Mar 20 Python
使用Python项目生成所有依赖包的清单方式
Jul 13 Python
python编程实现清理微信重复缓存文件
Nov 01 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
jquery入门—访问DOM对象方法
2013/01/07 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python 调用Java实例详解
2017/06/02 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
python reduce 函数使用详解
2017/12/05 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python+opencv识别图片中的圆形
2020/03/25 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
django教程如何自学
2020/07/31 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
JSF如何进行表格处理及取值
2012/08/06 面试题
大学生毕业自荐信
2013/10/10 职场文书
数控技术专业推荐信
2013/11/01 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
安全生产先进个人总结
2015/02/15 职场文书
会计简历自我评价
2015/03/10 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
妇产科护理心得体会
2016/01/22 职场文书
Python中的 enumerate和zip详情
2022/05/30 Python