python分割字符串输出_python字符串分割

内置split()函数 str.split(sep=None, maxsplit=-1)

sep为自定义分割符,maxsplit为最大分割次数,默认值-1进行全部分割

注意以下区别:

str.split() 以空格分割,包括连续空格

str.split(' ') 同样以空格分割,但是不能识别连续空格,会返回两空格之间的空字符串

python3 doc

re模块的split()函数 re.split(pattern, string, maxsplit=0, flags=0)

pattern分割模式

正则表达式描述pattern

官方文档中举例以下几种:

r'\W+' 非单词字符的字符作为分割符

r'(\W+)' 以括号包裹正则表达式则会在结果中保留用来分割的字符

'[a-f]+' a-f组成的字符串作为分割符

输入

print(re.split(r'\W+','Words, words, word.'))

print(re.split(r'\W+','Words,,words,word.'))

print(re.split(r'[a-f]+','a3b4gf',flags = re.IGNORECASE))

输出

['Words', 'words', 'word', '']

['Words', ',,', 'words', ',', 'word', '.', '']

['', '3', '4g', '']

其他参数

maxsplit和内置的split函数一样,只不过以0作为缺省值

flags:用来修改pattern表达式的功能re.IGNORECASE忽略大小写 其他的可用值👉更多

记录一个奇怪的现象:

print(re.split(r'[a-f]+','a3b4gf',flags = re.IGNORECASE))

print(re.split(r'[a-f]+','a3b4gf',re.IGNORECASE))

输出

['', '3', '4g', '']

['', '3', '4gf']

传入参数包括"flags = "和不包括时,结果不同,原因不太清楚。此外这个测试用例表明分割符前后的内容都会包含在结果中,所以输出开头就有一个空字符串,这一点很古怪。

去除连续分割符之间的空字符串

以上两个函数的简单实用经常在结果中产生空字符串,解决办法解决如下,使用re.split()。

使用列表推导式

[x for x in re.split(r'[,\s]',str) if x] 逗号、空格分割字符串并且去除连续的分割符

使用正则表达式

sList = re.split(r"[,\s]+",s.strip())

使用多字符字符分割时,用'+'修饰就能过滤重复分割符了。

输入1:3 4, 7 3 输出:['3', '4', '7', '3']

输入2:4,, 5 输出:['4', '5']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python requests 10041报错_Python-Requests1-批量登录获取uid

需求:从表格取不同的手机号和密码登录,获取不同用户的信息,写入本地表格requests官网:https://github.com/requests/requests1、安装Requests模块1、官网下载requests包2、解压,命令行进入python目录,运行安…

pdf保存如何带批注_带有批注的SpringSelenium测试

pdf保存如何带批注这篇文章描述了如何在Java中实现Selenium测试。 它的灵感来自Alex Collins的帖子,并带有注释。 该代码可在GitHub的Spring-Selenium-Test目录中找到。 一些替代方法和更轻巧的技术可用于对Spring MVC应用程序进行单元测试。 要进行单元测试服务&am…

javax.naming.NamingException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

解决办法: Tomcat服务器的根目录下也有一个lib目录,也要把mysql的驱动包放进去转载于:https://www.cnblogs.com/kingdaqi/p/10935916.html

Spring教程:使用Spring框架和Spring Boot创建Hello World REST API

由于Java社区对早期版本的Enterprise Java感到失望,因此创建了Spring Framework 。 从那时起,它已经发展成为一个巨大的生态系统,可以解决构建基于Web的Java应用程序中的所有问题以及更多问题。 经常批评Spring,因为Spring过去常常…

Testner自动化测试平台免费开放啦

swift(雨燕)是目前世界上飞行速度最快的鸟之一,尖尾雨燕平时飞行的时速为170公里,最快可达到325.5公里。恰恰自动化测试的主要目的就是为了提高测试效率,因此,Testner自动化测试平台也叫 swift Testner自动…

seleniumpython定位网页元素方法_使用Selenium对网页元素进行定位的诸种方法

使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接。在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了,下面我们来了解一下如何在查找元素。3.1 查…

有赞全链路压测方案

转载于:https://www.cnblogs.com/wuzhiyi/p/10944934.html

python 消息队列 get是从队首还是队尾取东西_python分布式爬虫中消息队列知识点详解...

当排队等待人数过多的时候,我们需要设置一个等待区防止秩序混乱,同时再有新来的想要排队也可以呆在这个地方。那么在python分布式爬虫中,消息队列就相当于这样的一个区域,爬虫要进入这个区域找寻自己想要的资源,当然这…

mime类型是什么类型_使用多种MIME类型测试REST

mime类型是什么类型1.概述 本文将重点介绍测试具有多种媒体类型/表示形式的RESTful服务。 这是有关使用Spring和基于Java的配置的Spring Security设置安全的RESTful Web服务的系列文章的第十篇。 REST with Spring系列: 第1部分 – 使用Spring 3.1和基于Java的配置…

Go-Mutex互斥量

先来看一段go1.12.5中Mutex的源码: // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.// Package sync provides basic synchronization primiti…

spss方差分析_【案例】SPSS统计分析:多因素方差分析

- 点击上方“中国统计网”订阅我吧!-多因素方差分析,用于研究一个因变量是否受到多个自变量(也称为因素)的影响,它检验多个因素取值水平的不同组合之间,因变量的均值之间是否存在显著的差异。多因素方差分…

你好世界

想打个Hello World,但是又没有继续下去。 今天买茶百道的时候,做茶的女孩子很开朗很友善,在她递给我装好的山竹荔枝的时候我闻到水果的苦味,于是捧住杯子埋头下去闻了一下,她笑着说,“每次我做这个的时候都…

sqlserver免安装_SQL数据分析,如何免安装在线运行?

大家好,在之前写了一篇关于SQL软件安装,读者普遍反映,这个软件有点不好安装,但是,从事数据分析行业,熟练使用SQL软件是必须的,于是乎......本文推送一篇免安装的,可以在线运行的SQL软…

python自动导出数据脚本_利用python生成一个导出数据库的bat脚本文件的方法

# 环境: python3.xdef getExportDbSql(db, index):# 获取导出一个数据库实例的sql语句sql mysqldump -u%s -p%s -h%s -P%d --default-character-setutf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql %(db[user], db[pwd], db[host], db[port], index, db[server], inde…

java内存模型和内存结构_Java内存模型和优化

java内存模型和内存结构总览 许多多线程代码开发人员都熟悉这样的想法,即不同的线程可以对持有的值有不同的看法,这不是唯一的原因,即如果线程不安全,它可能不会看到更改。 JIT本身可以发挥作用。 为什么不同的线程看到不同的值&…

ANTLR巨型教程

解析器是功能强大的工具,使用ANTLR,您可以编写可用于多种不同语言的各种解析器。 在本完整的教程中,我们将要: 解释基础 :解析器是什么,解析器可以用于什么 了解如何设置要从Javascript,Pyth…

Web进程被kill掉后线程还在运行怎么办?

目录 背景描述原因分析处理方案参考背景描述 系统有一个配置表,系统在启动后会启动一个线程,每隔5分钟将配置表里所有的数据更新到内存中。 系统是通过jenkins构建(直接kill掉Web进程,然后传入新的包再启动)的&#xf…

北京学python 价格怎么样_北京学习Python需要多少钱

Python本身语言具有一定的优势所在,简单易学,就业方向多,也就意外着从事Python的工程师相对于其他编程语言的工程师来说,就业机会更多,薪资待遇更高。1、web网站工程师:我们都知道web是我们一直不能忽视的存…

go Windows Service

相关库 https://godoc.org/golang.org/x/sys/windows/svchttps://github.com/kardianos/servicehttps://github.com/judwhite/go-svchttps://github.com/btcsuite/winsvc参考 云监控Go语言版本插件介绍 - 这个不知道用的什么库实现的Cannot start golang application exe as a …

华为南太无线解决方案部梁旭阳_华为无线充电新专利:激光无线充电,替代传统半接触式...

传统的无线充电技术是用感应线圈通过短距离,实际上是有接触式充电,但是相对于真正的无线充电,还是不够便利,最近,华为新无线充电技术曝光:激光无线充电。虽然无线充电已在近年得到了较大的普及,…