Python 字符串操作之字符串的截取
字符串的截取
字符串的截取是实际应用中经常使用的技术,被截取的部分称为“子串”。Java中使用函数substr()获取子串,C#使用函数substring()获取子串。而Python由于内置了序列,可以通过前面介绍的索引、切片获取子串,也可以使用函数split()来获取。字符串也属于序列。
下面这段代码使用序列的索引获取子串:
# 使用索引截取子串
print('----------# 使用索引截取子串---------')
word = 'world'
print(word[4])
【代码说明】第4行代码,访问字符串第5个字符的值。输出结果为“d”。
【运行结果】
通过切片可以实现对字符串有规律的截取。切片的语法格式如下所示。
string[start : end : step]
【代码说明】其中string表示需要取子串的源字符串变量。[start:end:step]表示从string的第start个索引位置开始到第end个索引之间截取子串,截取的步长是step。即每次截取字符string[start+step],直到第end个索引。索引从0开始计数。
下面这段代码演示了使用切片截取子串的功能:
# 特殊切片截取子串
print('---------# 特殊切片截取子串----------')
str1 = 'hello world'
print(str1[0:3])
print(str1[::2])
print(str1[1::2])
str2 = 'ABCDEFG'
print(str2[:3])
print(str2[3:])
print(str2[::2])
print('-----------------------------------')
【代码说明】
第10行代码,截取字符串中第1个字符到第3个字符之间的部分。
第11行代码,[::2]切片省略了开始和结束字符。从字符串的第1个字符开始,以2为步长逐个截取字符。
第12行代码,切片中的数字1表示从字符串的第2个字符开始取字符,数字2表示以2为步长逐个截取字符。
【运行结果】
如果要同时截取多个子串,可以使用函数split()实现。函数split()的声明如下所示。
split([char] [,num])
【代码说明】
参数char表示用于分割的字符,默认的分割字符是空格。
参数num表示分割的次数。如果num等于2,将把源字符串分割为3个子串。默认情况下,将根据字符char在字符串中出现的个数来分割子串。
函数的返回值是由子串组成的列表。
代码如下:
# 使用split()获取子串
print('-----------# 使用split()获取子串-----')
sentence = "Tom said: a,b,c,d."
print('使用空格获取子串:', sentence.split())
print('使用逗号获取子串:', sentence.split(','))
print('使用逗号获取3个子串:', sentence.split(',', 2))
sentence1 = 'Uzi tell us : he is king and said : A, B, C, D.'
print('使用空格获取子串:', sentence1.split())
print('使用逗号获取子串:', sentence1.split(','))
print('使用空格获取4个子串:', sentence1.split(' ',3))
print('-----------------------------------')
【代码说明】
第22行代码根据空格来获取子串。字符串sentence中有5个空格,将返回由6个子串组成的列表。
第23行代码根据逗号来获取子串。字符串sentence中有3个空格,将返回由4个子串组成的列表。
第24行代码根据逗号来分割字符串,并把字符串sentence分割为3个子串。
【运行结果】
字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。

# 字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。
print('字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。')
str3 = "a"
print(id(str3))
print(id(str3 + "b"))
print('-------------------------------------')

【代码说明】
第2行代码输出str1的内部标识。输出结果为“4337916312”。
第3行代码,进行字符串连接,新的字符串将获得新的标识。输出结果为“4337800168”。
【运行结果】
ALL:
运行结果ALL:
-------------------end--------------------
Python 字符串操作之字符串的截取相关推荐
- python字符串操作_Python 字符串操作 - 树懒学堂
字符串操作 由于Python在字符串和文本操作上的便利性,使Python成为一个流行的原生数据集操作语言已经有很长时间了.字符串对象的内建方法使得大部分文本操作非常简单.对于更为复杂的模式匹配和文本操 ...
- Python(IT峰)笔记05-数据类型详解:字符串、转义字符,字符串操作,字符串格式化,英文字符,字符串查找,字符串操作
1.字符串的定义 单引号 双引号 三引号 字符串定义时,引号可以相互嵌套 2.转义字符 斜杠\转义符,续行符.转义符可转义,在末尾可续行 strs='hello'\'wolrd' print(strs ...
- python字符串操作_python字符串操作
6.1 处理字符串 原始字符串:在字符串开始的引号之前加上r,使它成为原始字符串."原始字符串"完全忽略所有的转义字符,打印出字符串中的所有倒斜杠. 用三重引号的多行字符串:多行字 ...
- 【牛客】1. 字符串操作 <字符串>
腾讯音乐娱乐集团2023校园招聘技术类岗位编程题一 1.字符串操作 给定一个只包含小写字母字符串,每次可以选择两个相同的字符删除,并在字符串结尾新增任意一个小写字母.请问最少多少次操作后,所有的字母都 ...
- 【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )
文章目录 一.C 字符串 二.字符数组始化 一.C 字符串 C 字符串特征 : C 语言中的字符串都是以 '\0'字符 结尾的 字符数组 ; C 字符串本质 : C 中 没有字符串类型 , 都是使用 ...
- php的字符串操作,PHP 字符串操作
关于PHP字符串的操作函数 代码如下: //addcslashes() 在字符 "A" 之前添加一个反斜杠 $a = "abcdefg"; $value = a ...
- 字符串操作之字符串连接
/* 将str1与str2连接-->(将合成的字符串放入str1中) 思路分析: a. 确定str1的内存大小是否小于str1+str2-1; b. 连接; c. 连接后的字符串最后一个为空字符 ...
- 字符串操作之字符串拷贝功能实现
#include<iostream> using namespace std; //思路分析: //a.确定被拷贝的数组内存是否小于等于目标数组的内存大小 //b.拷贝数组 //c.目标数 ...
- python字符串用空格切片_Python切片操作去除字符串首尾的空格
下面通过实例代码给大家分享Python切片操作去除字符串首尾的空格的方法,具体内容如下所示: #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 d ...
最新文章
- linux 内核按键抖动,Tiny4412 Linux驱动之按键(定时器防抖动) | 技术部落
- 3.1.4 如何使深度学习模型达到人类水平以及超高人类水平
- 反病毒引擎设计全解(四)
- linux生成公钥实现ssh,linux下生成 SSH 公钥,用于GitHub
- GraphSAGE节点分类
- Scala入门到精通—— 第二节Scala基本类型及操作、程序控制结构
- java版数据结构解迷宫问题_C语言数据结构之迷宫问题
- 为什么早上和傍晚的太阳总是红色,而中午的大阳却是黄白色?
- Vuex 源码还有一些缺陷?
- 入门 | 使用 SQL 构建一个关系数据库比你想的更容易
- 为ZooKeeper增加一个小功能:指定IP进行受限客户端过滤
- 虚拟主机金华php空间,金华虚拟主机_金华云虚机_金华主机申请_金华网站空间_爱名网(www.22.cn)...
- mark制图软件_绘图软件有哪些?
- 单片机初始化WIFI模块
- 您的组织策略阻止我们为您完成此操作
- 【Python打卡2019】20190421之52周存钱挑战
- ubuntu 日常使用问题记录
- 一文带你读懂点击劫持详解+实验
- 基金从业考试考前必背
- lock-step技术