Python split()方法详解:分割字符串

Python 中,除了可以使用一些内建函数获取字符串的相关信息外(例如 len() 函数获取字符串长度),字符串类型本身也拥有一些方法供我们使用。

注意,这里所说的方法,指的是字符串类型 str 本身所提供的,由于涉及到类和对象的知识,初学者不必深究,
只需要知道方法的具体用法即可。

split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来。该方法的基本语法格式如下:

str.split(sep,maxsplit)

此方法中各部分参数的含义分别是:

str:表示要进行分割的字符串;

sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。

maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1,则表示分割次数没有限制。

在 split 方法中,如果不指定 sep 参数,那么也不能指定 maxsplit 参数。

同内建函数(如 len)的使用方式不同,字符串变量所拥有的方法,只能采用“字符串.方法名()”的方式调用。这里不用纠结为什么,学完类和对象之后,自然会明白。

例如,定义一个保存php中文网网址的字符串,然后用 split() 方法根据不同的分隔符进行分隔,执行过程如下:

>>> str = "php中文网 >>> c.biancheng.net"
>>> str
'php中文网 >>> c.biancheng.net'
>>> list1 = str.split() #采用默认分隔符进行分割
>>> list1
['php中文网', '>>>', 'c.biancheng.net']
>>> list2 = str.split('>>>') #采用多个字符进行分割
>>> list2
['php中文网 ', ' c.biancheng.net']
>>> list3 = str.split('.') #采用 . 号进行分割
>>> list3
['php中文网 >>> c', 'biancheng', 'net']
>>> list4 = str.split(' ',4) #采用空格进行分割,并规定最多只能分割成 4 个子串
>>> list4
['php中文网', '>>>', 'c.biancheng.net']
>>> list5 = str.split('>') #采用 > 字符进行分割
>>> list5
['php中文网 ', '', '', ' c.biancheng.net']
>>>

需要注意的是,在未指定 sep 参数时,split() 方法默认采用空字符进行分割,但当字符串中有连续的空格或其他空字符时,都会被视为一个分隔符对字符串进行分割,例如:

>>> str = "php中文网   >>>   c.biancheng.net"  #包含 3 个连续的空格
>>> list6 = str.split()
>>> list6
['php中文网', '>>>', 'c.biancheng.net']
>>>

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

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

相关文章

[每周一更]-(第80期):分析源码flag,配合示例展示用法

Go 语言标准库中的 flag 包提供了一套简单而又强大的命令行参数解析工具。以下是对 flag 包源码的一些关键点的解析: FlagSet 结构体: FlagSet 是 flag 包的核心结构体,用于表示一组命令行参数。它包含了一个存储命令行参数的 map&#xff…

neutron 安全组代码实现(一)

最近在学习neutron 安全组相关逻辑,所以梳理一下neutron关于安全组的具体代码实现,下面是neutron创建安全组时的代码,总体来说所有service的创建流程是一样的 创建安全组 #neutron --debug security-group-create sg-debug-can-deletecurl …

酷开科技 | 酷开系统9.2,开启个性化时代

现代人,总喜欢不走寻常路,以彰显自己的不同。酷开系统的个性化推荐就能满足你的这类需求,既能给你想要的内容,又能给你与众不同的体验! 想听音乐了?打开酷开系统音乐频道,随机播放为你推荐的歌曲…

springboot devtools实现热部署

1.配置devtools依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency>2.配置maven插件&…

语音遥控器2-语音功能实现

语音语义识别方案我们采用的是思某驰。 调查了一下语音相关代码&#xff0c;不管腾某讯&#xff0c;还是思某驰&#xff0c; 一般都会涉及到以下几个部分的工作&#xff1a; 对接语音识别SDK Sdk对接主要是密钥&#xff0c;认证&#xff0c;消息的处理&#xff1b; 方案采…

【四】CocosCreator-修改引擎源码

看源码的过程中&#xff0c;少不了得修修改改源码&#xff0c;做点实验。果断去找找源码在哪里&#xff0c;然后就可以快乐动手改源码了。 CocosCreator引擎源码主要就是js和原生C两类&#xff0c;分别在引擎目录的resources/engine和resources/cocos2d-x下&#xff0c;如图&am…

WEB 3D技术 three.js 法向量演示性讲解

本文 我们来说法向 法向 又叫 法向量 就是 我们一个三维物体 顶点垂直于面 的方向 向量 他的作用 用来做光反射 根据光照的方向 根据面进行反射 我们上文写的这个代码 import ./style.css import * as THREE from "three"; import { OrbitControls } from "…

springcloud之Feign超时提示Read timed out executing POST

问题描述&#xff1a; Feign接口调用分两层&#xff0c;Ribbon的调用和Hystrix调用&#xff0c;理论上设置Ribbon的时间即可&#xff0c;但是Ribbon的超时时间和Hystrix的超时时间需要结合起来&#xff0c;按照木桶原则最低的就是Feign的超时时间&#xff0c;建议最好配置超时…

R语言频率分布直方图绘制教程

本篇笔记分享R语言绘制直方图的方法&#xff0c;通过多种展示风格对数据进行可视化&#xff0c;主要用到ggplot、ggpubr等包。 什么是直方图&#xff1f; 直方图(Histogram)&#xff0c;又称质量分布图&#xff0c;是一种统计报告图&#xff0c;由一系列高度不等的柱子表示数据…

openCV入门

简介 本文主要通过对啥都会一点研究生系列进行总结&#xff0c;对关键代码进行注释&#xff0c;方便使用以及复习。 1 基础功能 1.1.显示图片 import cv2 # 读取图片 img cv2.imread("Resources/lena.png") # 显示图片 cv2.imshow("Lena Soderberg",img…

【Java集合类篇】HashMap的数据结构是怎样的?

HashMap的数据结构是怎样的? ✔️HashMap的数据结构✔️ 数组✔️ 链表 ✔️HashMap的数据结构 在Java中&#xff0c;保存数据有两种比较简单的数据结构: 数组和链表&#xff08;或红黑树&#xff09;。 HashMap是 Java 中常用的数据结构&#xff0c;它实现了 Map 接口。Has…

STM32 CubeMX产生的程序架构

使用STM32CubeMX产生启动相关代码&#xff0c;配置各种外设。在后续程序开发过程中&#xff0c;有可能使用STM32CubeMX逐步产生使用的代码&#xff0c;为了将其产生的代码和我们程序隔离&#xff0c;一种可行的程序架构如下&#xff1a; 在此架构中&#xff0c;STM32CubeMX产生…

GraphQL和REST API的区别

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 GraphQL&#xff08;Graph Query Language&#xff09;和REST&#xff08;Representational State Transfer&#xff09;是两种用于构建和设计API的不同方法。以下…

【设计模式之美】理论一:怎么才算是单一原则、如何取舍单一原则

文章目录 一. 如何判断类的职责是否足够单一&#xff1f;二. 类的职责是否设计得越单一越好&#xff1f; 开始学习一些经典的设计原则&#xff0c;其中包括&#xff0c;SOLID、KISS、YAGNI、DRY、LOD 等。 本文主要学习单一职责原则的相关内容。 单一职责原则的定义&#xff1a…

电脑屏幕一直闪烁怎么解决?三大妙招还你清晰视野

电脑屏幕闪烁一直是困扰用户的一个问题&#xff0c;它会影响到用户的使用体验&#xff0c;甚至可能导致眼睛疲劳和头痛。可是电脑屏幕一直闪烁怎么解决呢&#xff1f;在本文中&#xff0c;我们将介绍三个解决电脑屏幕闪烁的方法&#xff0c;从简单的软件调整到硬件检测&#xf…

亚马逊图片上传后变模糊怎么办?亚马逊图片优化指南—站斧浏览器

亚马逊图片上传后变模糊怎么办&#xff1f; 使用高分辨率图片&#xff1a;亚马逊建议卖家使用至少1000 x 1000像素的高分辨率图片。如果您上传的图片分辨率较低&#xff0c;亚马逊系统可能会将其自动调整为较小的尺寸&#xff0c;导致图片模糊。因此&#xff0c;确保您使用高质…

对JAVA行业的深度思考职业规划

JAVA行业的发展趋势 首先&#xff0c;随着移动互联网的快速发展&#xff0c;移动应用程序的需求也越来越大。在这个领域&#xff0c;Java一直是主要的开发语言之一&#xff0c;特别是在Android平台上。然而&#xff0c;随着谷歌推出了Kotlin语言作为Android开发的首选语言&…

Vue3.0+Echarts (可视化界面)

Vue3.0Echarts &#xff08;可视化界面&#xff09; 1. 简介2. 安装2.1 下载安装Node.js2.2 全局下载项目脚手架2.3 创建项目 1. 简介 2. 安装 2.1 下载安装Node.js 2.2 全局下载项目脚手架 以管理员身份执行 npm install -g vue/cli vue --version2.3 创建项目 vue crea…

读书之unix环境高级编程_简单笔记1(初步)

手头有比较多的技术书籍&#xff0c;弃之可惜&#xff0c;放之惭愧&#xff0c;借助空闲时间&#xff0c;先草读&#xff0c;再demo整理。 unix环境高级编程 草读简单整理&#xff0c;为下一步整理细节技术点做准备&#xff08;仅个人笔记&#xff09;。 基本的文件操作&…

java与Android开发入门指南

Java与Android开发是当前非常热门的技术领域&#xff0c;它们是构建移动应用程序的核心。在本文中&#xff0c;我们将为您提供一个入门指南&#xff0c;介绍Java和Android开发的基本概念和步骤&#xff0c;帮助您开始学习和掌握这两个技术。 Java 基础知识 在学习 Android 开…