| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 第1篇:Python删除开头或结尾“指定顺序”字符串,用strip是错误的 -> 正文阅读 |
|
[Python知识库]第1篇:Python删除开头或结尾“指定顺序”字符串,用strip是错误的 |
起因昨天快下班时,老板临时交代做个功能:获取URL中最后的文件名,不要后缀。 对于10年编码经验的我来说,这还不简单?小意思,2分钟给你搞定! 代码敲起来语言学过很多不算牛,能记清才算牛。 我就经常记混,每次用之前都得搜索一下,于是输入关键字“python trim” ? 原来,python修剪字符串前后指定字符串,没有trim,但能用strip替代。
输出结果:
搞定,老板可以上线了! 偶然性报错今天一大早到公司,老板说昨天你写的那个功能有问题。 不可能啊,我敢百分百保证。 老板说,不信你自己看看。 于是我去看了下,果然发现原本以为“不可能”的错误,当出现下面这种情况时,就出错了:
结果为:
啊,怎么会? 定位好吧,我看下哪里有问题:
输出结果为:
果然是strip有问题,仔细百度了一下。 原来,strip是可以从前后两端往中间方向修剪指定字符,但不按指定字符顺序,只要出现的字符都会被修剪掉,直到发现第一个非指定字符为止。 也就是说,peach.html的h.html都会被修剪掉。 解决有一种最简单,但不严谨的做法,就是用replace替代:
不出所料,结果为正确的peach。 因为是网址,所以.html肯定出现在最后,所以用这种办法没问题,如果不是这种场景呢? 在回答这个问题之前,我不禁对一直以来深信不疑的php 的 trim函数也产生了怀疑。 于是立刻敲了起来:
果然,trim也是有这个问题,以上代码也是输出peac。 这个php例子先搁一边,回到python例子,如何正确地修剪指定顺序的字符串呢? 延伸如果是去除最左边的指定顺序字符串,可以让replace带上第三个参数(替换次数)肯定没问题:
以上代码只会做一次replace,即只会删除最开头的old,会保留之后的old。 如果去除最右边的指定顺序字符串:
使用正则,就可以删除结尾的字符串.html 当然了,也可以使用正则去掉开头的指定字符串,读者可以自己去试一下。 欢迎关注我: ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:47:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |