Python-如何拆分含有多种分隔符的字符串?
2024-10-18 04:10:13
案例:
把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下
s = '12;;7.osjd;.jshdjdknx+'
其中 ; . + 是分隔符
有哪些解决方案?
方法1:通过str.split()方法,每次处理一个分隔符
#!/usr/bin/python3 def go_split(s, symbol):
result = [s]
for i in symbol:
median = []
# 普通方法
# for x in result:
# median.extend(x.split(i) # 列表解析
# [median.extend(y.split(i)) for y in result if y] # map高阶函数,map生成可迭代对象
for z in map(lambda x: x.split(i), result):
median.extend(z) # 以上三个方法都可以解决问题
result = median # 去除空字符串
return [x for x in result if x] if __name__ == "__main__":
# 定义初始字符串
s = '12;;7.osjd;.jshdjdknx+'
# 定义分隔符
symbol = ';./+' result = go_split(s, symbol)
print(result)
方法2:通过re.split()方法,一次性拆分所有字符串,推荐
#!/usr/bin/python3 import re def go_split(s, symbol):
# 拼接正则表达式
symbol = "[" + symbol + "]+"
# 一次性分割字符串
result = re.split(symbol, s)
# 去除空字符
return [x for x in result if x] if __name__ == "__main__":
# 定义初始字符串
s = '12;;7.osjd;.jshdjdknx+'
# 定义分隔符
symbol = ';./+' result = go_split(s, symbol)
print(result)
最新文章
- JavaScript将字符串中的每一个单词的第一个字母变为大写其余均为小写
- FTP的搭建与虚拟目录作用<;之简单讲解>;
- Java异常体系及分类
- 软件工程:vs单元测试
- Java并发包中CyclicBarrier的工作原理、使用示例
- (十七)迭代器模式详解(foreach的精髓)
- 十天冲刺---Day8
- Lamp源码搭建
- 伸展树(二)之 C++的实现
- Source Tree for MAC1.6
- bzoj 2282: [Sdoi2011]消防
- 【Qt】Qt国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)【转】
- C# 调用WebService的方法
- web2py--------------用web2py写 django的例子 --------开发环境
- Win7下启用IIS7
- android五种布局模式
- OCP读书笔记(10) - 使用闪回技术I
- 如何在RecyclerView上面实现";拖放";和";滑动删除";-1
- 405 css样式的研究 list-style-type 属性研究
- Codeforces 101623E English Restaurant - 动态规划
热门文章
- php 正则表达式匹配(持续更新)
- 关于对MyBatis.net框架的学习笔记( MyBatis.net是一款灵活性极大,sql由开发者自行在xml中编写, 轻量的ORM映射框架). 同时避免了sql硬编码到代码中不易维护的问题...
- ZooKeeper的十二连问,你顶得了嘛?
- ent orm笔记4---Code Generation
- Android开发之viewpager导报错误解决方法:错误代码 Caused by: java.lang.ClassNotFoundException: Didn&#39;t find class
- unity坑-编译错误
- Java 中基本数据类型的变量的转换规则
- Maven 仓库镜像设置
- 时间选择器 element
- 使用vuepress搭建GitHub pages静态博客页面