首页 > 编程语言 >Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!

Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!

时间:2023-10-20 15:01:48浏览次数:32  
标签:面试题 sub Python 函数 ffff str strip 字符串 ddd

Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!_字符串

关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作!

对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove 、del相关方法,听到这里,就知道面试者根本不知道这个答案啦!因为对于这个问题,remove 、del根本无效!有的同学回答:使用strip函数,很显然这些同学对字符串api有些了解,但是对于面试官来说,我们能够判断出,这些同学编码经验有限!我们就先来了解一下strip函数。

strip()函数

Python 的 strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。实际工作中,只移除字符串开头和结尾的部分字符应用场景极其有限。

例如代码

str ="abc,ddd,ffff,ee"
print(str.strip( 'ee' ))
print(str.strip( 'abc' ))
print(str.strip( 'ddd' ))

分别输出:

abc,ddd,ffff,

,ddd,ffff,ee

abc,ddd,ffff,ee

可以看到strip对于删除尾部的ee 和头部的abc是能够符合我们预期需求的,但是当删除字符串中间的ddd,就会失败!

另外还有lstrip()、rstrip()函数和strip()函数的用法相似,只不过lstrip()是去掉左边的(头部),rstrip()是去掉右边的(尾部)

replace()函数

那么我们应该怎样解决删除中间字符串这个问题呢?答案是用replace()函数!看到这里可能有的同学会说replace是替换的意思啊,怎么会用来进行删除操作呢?没错,replace是进行替换操作的,但是如果我们把要删除的字符串替换为空值,不就巧妙地解决了这个问题嘛!

print(str.replace( 'ddd','' ))

输出:

abc,,ffff,ee

完全符合预期!

re.sub 函数

随着大家对python编码的不断深入,大家会遇到更复杂的需求:通过正则表达式来删除字符串,那么该如何处理呢?跟据我多年的面试经验来看,如果在面试过程中能够回答出这个问题的同学,那么python编码是过关的,应对python接口自动化测试或者UI自动化测试是能够胜任的。在这里我也不啰嗦了,直接给大家答案,使用re.sub 函数即可,我们还是以字符串str ="abc,ddd,ffff,ee" 为例,用正则删除字符串=",ddd,ffff," (这个正则应用的例子比较简单,在这里我只是给大家来举例如何使用正则的方法来删除指定的字符串),代码如下:

import re
str ="abc,ddd,ffff,ee"
print(re.sub(r',.*,', '', str))

输出:abcee

符合预期!

通过strip()函数、replace()函数和re.sub ()函数大概率就可以评定出面试测试开发人员的基本python编码能力,而且屡试不爽!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

标签:面试题,sub,Python,函数,ffff,str,strip,字符串,ddd
From: https://blog.51cto.com/liwen629/7951309

相关文章

  • Python-操作kerberos验证的kafka
    本笔记为python操作kerberos认证的kafka的操作方法,此仅记录作为使用者,连接客户提供的kafka并进行操作的流程。1、依赖安装:python相关依赖库:pip3installkafka-pythonpip3installgssapi系统(镜像):需要安装kerberos的客户端进行验证对于mac:brewinstallkrb5对于Debian或Ub......
  • [922] Implementation of zooming to selected features by Python
    ref:ArcPy.mpGetSelectedFeaturesExtentref:Python/ArcPyclasses/Geometry#Setthepathtoyourprojectfile(.aprx)project_file=r"Map1.3Heritage.aprx"#Referencetheprojectaprx=arcpy.mp.ArcGISProject(project_file)#getthe......
  • Python + Selenium + Firefox 使用代理 auth 的用户名密码授权
    Python+Firefox+插件(closeproxy.xpi)其中,closeproxy.xpi文件,需要Google、Bing搜下都能搜到下载地址完整的测试代码如下: fromseleniumimportwebdriverfromselenium.webdriver.firefox.firefox_binaryimportFirefoxBinaryfromselenium.webdriver.common.proxyimp......
  • 关于Python的打包与编译
    1、nuitka编译成一个so文件nuitka3--module--include-module=target_file_or_dirtarget_file_or_dir2、compileall编译成pycpython3-mcompileall-b<dir>#删除相关的py文件find<dir>-name'*.py'-typef-print-execrm{}\;3、bdist_wheel打包whl文......
  • Python3+selenium3+Firefox 设置浏览器headless模式运行+下载文件
    设置Firefoxheadless模式   defsetUp(self):#Firefoxheadless模式运行options=webdriver.FirefoxOptions()options.add_argument('-headless')self.driver=webdriver.Firefox(options=options)self.driver.implicitly_wait(30)......
  • Windows Python 访问达梦数据库(环境配置)
    WindowsPython访问达梦数据库(环境配置) 一、前提条件本篇博客以访问本地达梦数据库(DM8)为基础进行演示。(前提:本地已经安装了DM8数据库!)关于Windows安装达梦数据库,请参考博客:Windows安装达梦数据库关于Docker安装达梦数据库,请参考博客:Docker安装达梦数据库关于JD......
  • 【Python&RS】基于Python批量镶嵌拼接遥感影像/栅格数据
    ​    我之前分享过【Python&RS】基于GDAL镶嵌拼接遥感影像,但是没有加入批量处理的代码。最近正好有这个需求,所以就对原来的代码进行了优化加入了批量拼接的代码。现在只需输入一个文件夹即可将其中的影像全部镶嵌起来。 一、导入GDAL库fromosgeoimportgdal二......
  • Python猴子补丁
    Python猴子补丁介绍猴子补丁是一种替换方法的方式。因为python是动态语言,所以我们在方法执行之前,可以将方法替换,以达到我们期望的结果。需要理解的是,python的方法在加上括号之前,代表的的只是方法的内存,可以被当做一个变量进行传递。使用#示例classTest:  a=1 ......
  • [920] Copy the font style from one cell in a table of a Word document to another
    TocopythefontstylefromonecellinatableofaWorddocumenttoanothercellusingPythonandthepython-docxlibrary,youcanaccessthefontpropertiesofthesourcecellandapplythemtothetargetcell.Here'showyoucandoit:First,ma......
  • python中json模块
    importjsonstring='{"name":"xxx","age":18,"object":[{"数学":100,"语文":90,"英语":70}]}'print(string)print(type(string))#将json字符串转为python字典data_dic=json.loads(string)print......