被Python的这个“特性”给坑死了

开发 后端
哈哈哈,被自己蠢死了,也被 python 的语法给坑死了。没想到还会遇到这种问题。

 哈哈哈,被自己蠢死了,也被 python 的语法给坑死了。没想到还会遇到这种问题。

[[334034]]

事情是这样的。

项目中遇到一个字符串替换的问题。

我们知道字符串替换可以直接用replace方法,但这个方法只适合简单的字符替换,就是前提你要明确知道你要替换什么。

例如把“java”去掉

 

  1. s = "java python" 
  2. print(s.replace("java""")) # python 

遇到复杂场景就不得不用正则表达式的方法来替换了。

比如有一段html文本

 

  1. s = ""
  2. <script> 
  3. !function(e) 
  4. w3i9df 
  5. xxx 
  6. </script> 
  7. <div> 这是html文本</div> 
  8. ""

 

 

我想把script脚本去掉,只保留html文本。这时候可以正则表达式里面的 re.sub 方法来实现。

 

  1. import re 
  2.  
  3. s = ""
  4. <script> 
  5. !function(e) 
  6. w3i9df 
  7. xxx 
  8. </script> 
  9. <div> 这是html文本</div> 
  10. ""
  11.  
  12. result=re.sub(r"<script.*?</script>""", s) 
  13. print(result) 

 

 

 

责任编辑:华轩 来源: Python之禅
相关推荐

2021-05-11 09:42:04

CI校验前端git config

2024-01-09 07:39:20

maven特性版本

2023-11-13 08:03:53

Next.js命令变量

2015-08-25 15:58:33

编程集锦

2022-06-06 10:39:01

OpenFeignTCC模式

2009-11-11 09:56:54

北电电信公司

2021-06-06 16:31:57

PythonPython 3.7 编程语言

2023-10-30 08:16:33

数据库插件Mybatis

2020-11-24 08:15:09

Elasticsear面试分布式

2020-07-20 09:40:49

MySQLBUG数据库

2022-01-03 20:13:08

Gointerface 面试

2021-10-15 06:49:37

MySQL

2024-04-15 03:00:00

python代码开发

2024-04-15 16:17:29

Python代码

2020-04-02 14:33:42

MySQLBUG解决方案

2021-02-24 09:43:36

MySQL数据库双引号

2022-03-21 08:55:53

RocketMQ客户端过滤机制

2021-07-16 07:57:35

SpringBootOpenFeign微服务

2012-06-13 01:05:53

JavaRubyJVM

2014-05-05 09:58:01

点赞
收藏

51CTO技术栈公众号