python基本数据类型之字符串(一)

时间:2022-06-07 10:38:29

python中字符串中有很多方法,具体方法如下图所示:

python基本数据类型之字符串(一)

分割方法

字符串的分割方法:

1、join方法:

join方法是字符串方法中最重要的方法之一,它的作用是将某一字符插入到字符串中用作连接。

具体用法:

 s = 'haha'
v = '_'.join(s)
print(v)

打印结果:

 h_a_h_a

join方法不仅可以用来连接字符串,也可以用来连接其他可遍历(iterable)类型中的元素,如列表、元组:

l = ['Tom','Jerry','Homer']
ls = '_'.join(l)
print(ls) t = ('liuxiang','yaoming','liuguoliang')
ts = '#'.join(t)
print(ts)

打印结果:

 Tom_Jerry_Homer
liuxiang#yaoming#liuguoliang

字典同样可以作为join的参数传入,但是默认情况下,它处理的是字典的key;如果需要处理value,则需要调用values()方法。

 # 字典
d = {
'name': 'Tom', 'type': 'cat', 'hobby': 'catch mouse'
}
ds = '*'.join(d)
print(ds) ds2 = '%'.join(d.values())
print(ds2)

打印结果:

 name*type*hobby
Tom%cat%catch mouse

但是字典的items()就不能作为join的参数传入了,会直接报错(类型错误):TypeError: sequence item 0: expected str instance, tuple found

2、split、rsplit、splitlines

split方法是将字符串按传入的参数进行分割,并将分割后的子串组成一个列表返回。

split(sep='',maxsplit=-1),该方法有两个参数,sep参数用来指定按照哪个字符进行分割;maxsplit指定分割的次数,(默认为-1,按照所有的指定字符进行分割)。

s = 'lalala!yeyeye!hahaha!hohoho!'
v = s.split('!')
print(v)
v2 = s.split('!', 3)
print(v2)

打印结果:

['lalala', 'yeyeye', 'hahaha', 'hohoho', '']

['lalala', 'yeyeye', 'hahaha', 'hohoho!']

**注意:当分割字符的后面没有字符时,split方法依旧会进行分割,在列表的最后会出现一个空字符串。

rsplit的用法与split方法一致,只不过rsplit方法会从右边开始寻找指定字符:

s = 'lalala!yeyeye!hahaha!hohoho!'
v = s.rsplit('!', 3)
print(v)

打印结果:

['lalala!yeyeye', 'hahaha', 'hohoho', '']

splitlines(keepends=None),splitlines方法将字符串按照换行符(\n)进行分割。

该方法只有一个参数:keepends,当keepends=True时,在分割的子串中会保留换行符。

s = 'lalala!\nyeyeye!\nhahaha!\nhohoho!'

v = s.splitlines()
print(v) v2 = s.splitlines(True)
print(v2)

打印结果:

['lalala!', 'yeyeye!', 'hahaha!', 'hohoho!']
['lalala!\n', 'yeyeye!\n', 'hahaha!\n', 'hohoho!']

split()、rsplit()和splitlines()三个方法中最常用的是split()。

3、partition、rpartition

partition和split方法用法是一样的,都是按照指定字符分割字符串,两者的不同之处在于:

(1) partition方法返回的是一个子串组成的元组,split方法返回的是一个列表。

(2) partition只能分割一次,它只有一个参数sep,你只能指定分割的字符并不能指定分割次数;split可以分割多次。

(3) partition方法返回的元组中包含了分割字符,而split方法不包含分割字符。

同样,rpartition也是从右向左查找,与rsplit方法的意思基本一致。

s = '你是光你是火你是冬天里的一把火'
v = s.partition('是')
print(v)
v2 = s.rpartition('是')
print(v2)

打印结果:

('你', '是', '光你是火你是冬天里的一把火')

('你是光你是火你', '是', '冬天里的一把火')

4、正则表达式

python中支持正则表达式。正则表达式博大精深,暂时还未掌握。

Q1:如果有两种分割依据,如何才能分割字符串呢?

python基本数据类型之字符串(一)的更多相关文章

  1. python基本数据类型之字符串(五)

    python基本数据类型之字符串(五) 遍历与查找 python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符.而查找的方法主要有两个:find与index. 1.字符串的遍历 字 ...

  2. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  3. python基本数据类型之字符串(三)

    python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法 ...

  4. python基本数据类型之字符串(二)

    python基本数据类型之字符串(二) 替换方法 python中字符串的替换方法主要有:center.rjust\ljust.expandtabs.format\format_map(格式化).str ...

  5. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >&gt ...

  6. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  7. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

  8. Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)

    数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...

  9. Python - 基本数据类型_str 字符串

    前言 字符串是编程中最重要的数据类型,也是最常见的 字符串的表示方式 单引号 ' ' 双引号 " " 多引号 """ ""&quo ...

  10. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

随机推荐

  1. Molile App(HTTP/HTML)—Record and Analyze Traffic

  2. Flex 列表控件中的操作

    主要操作包括:显示提示,使用图标,编辑列表条目中数据. 1.使用数据提示: 当鼠标停留在条目上时,可以显示该条目的相关数据提示. 当利用滚动条时,可以显示滚动条的相关提示. 在列表控件中使用showD ...

  3. SSIS ->> 生成时间格式

    有时我们需要生成一个文件,文件名的构成是当前时间的特定字符串格式,如yyyyMMddHHmmss 当前时间变成yyyyMMddHHmmss这个格式: (DT_WSTR,4) YEAR(GETDATE( ...

  4. TCP发送源码学习(2)--tcp_write_xmit

    一.tcp_write_xmit()将发送队列上的SBK发送出去,返回值为0表示发送成功.函数执行过程如下:1.检测拥塞窗口的大小.2.检测当前报文是否完全处在发送窗口内.3.检测报文是否使用nagl ...

  5. pc端布局的一点思考

    编写pc端页面需要注意些什么? 1.自适应最小屏幕,在小屏幕上样式不能错乱. 在桌面屏幕各分辨率使用比例中可以看到各桌面分辨率的使用比例,日常pc端开发我们会考虑到适配1024宽度大小的屏幕. 对于管 ...

  6. c语言fork 多进程

    fork函数的作用 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两 ...

  7. input 修改placeholder颜色

    一般来说input的placeholder是不能修改的,但是现在浏览器利用伪类实现了对placeholder的修改 input::-webkit-input-placeholder { // cher ...

  8. 在threejs中对3D物体旋转的思考

    今天在写threejs时,突然想到一个问题:一个3D物体需要旋转时,一般情况下简单的旋转我都是使用欧拉角,稍微复杂一些的情况我会把欧拉角转换成四元数进行旋转(欧拉角复杂旋转可能会产生的死锁问题),但是 ...

  9. Centos 集群配置SSH免登陆脚本

    首先编写脚本生成集群服务器列表: hostsList.sh #!/bin/bash preIp="11.11.225." pwd="dyj2017" for i ...

  10. Notepad++配置c++编译环境

    博主学生狗一只,之前一直进行.net开发,用惯了微软的那一套.C#上手容易,开发起来简单,但是正如前辈们所说的,它隐藏了太多底层的东西,惯坏了我,导致快毕业了有些东西一无所知.同时自己想写点简单的算法 ...