博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中字符串拆分与合并——split()、join()、strip()和replace()
阅读量:4621 次
发布时间:2019-06-09

本文共 4394 字,大约阅读时间需要 14 分钟。

Python3 split()方法

描述
split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串

语法

split()方法语法:

str.split(str="", num=string.count(str))

参数
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。
返回值
返回分割后的字符串列表。

实例

以下实例展示了split()函数的使用方法:

#!/usr/bin/python3

str = "this is string example....wow!!!"

print (str.split( ))
print (str.split('i',1))
print (str.split('w'))
以上实例输出结果如下:

['this', 'is', 'string', 'example....wow!!!']

['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']
Python3 字符串

注:split()分割字符串返回的是列表

利用re模块分割含有多种分割符的字符串:

import re

a='Beautiful, is; better*than\nugly'
# 四个分隔符为:, ; * \n
x= re.split(',|; |\*|\n',a)
print(x)
1
2
3
4
5
6
应用

网页地址解析

#coding=utf-8

str="http://www.runoob.com/python/att-string-split.html"

print("0:%s"%str.split("/")[-1])
print("1:%s"%str.split("/")[-2])
print("2:%s"%str.split("/")[-3])
print("3:%s"%str.split("/")[-4])
print("4:%s"%str.split("/")[-5])

print("5:%s"%str.split("/",-1))

print("6:%s"%str.split("/",0))
print("7:%s"%str.split("/",1))
print("8:%s"%str.split("/",2))
print("9:%s"%str.split("/",3))
print("10:%s"%str.split("/",4))
print("11:%s"%str.split("/",5))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
结果为

0:att-string-split.html

1:python
2:www.runoob.com
3:
4:http:
5:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']
6:['http://www.runoob.com/python/att-string-split.html']
7:['http:', '/www.runoob.com/python/att-string-split.html']
8:['http:', '', 'www.runoob.com/python/att-string-split.html']
9:['http:', '', 'www.runoob.com', 'python/att-string-split.html']
10:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']
11:['http:', '', 'www.runoob.com', 'python', 'att-string-split.html']
1
2
3
4
5
6
7
8
9
10
11
12
处理表格文件
date.txt文件如下
1 0.0888 201 36.02 28 0.5885
2 0.1399 198 39.32 30 0.8291

import os

data = []
for lines in open(r"date.dat",'r').readlines():
lines.strip()
s = [x for x in lines.strip().split()]
data.append(s)

print(data)

print(len(data[0]))
1
2
3
4
5
6
7
8
9
Python splitlines()方法
Python splitlines() 按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符

str.splitlines([keepends])

keepends – 在输出结果里是否去掉换行符(‘\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。

str1 = 'ab c\n\nde fg\rkl\r\n'

print str1.splitlines();

str2 = 'ab c\n\nde fg\rkl\r\n'

print str2.splitlines(True)

#返回结果

['ab c', '', 'de fg', 'kl']
['ab c\n', '\n', 'de fg\r', 'kl\r\n']
1
2
3
4
5
6
7
8
9
join()方法
Python中有join()和os.path.join()两个函数,具体作用如下:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
os.path.join(): 将多个路径组合后返回

join()方法将列表中的字符元素合并为一个大的字符串

一、函数说明

1、join()函数
语法: ‘sep’.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

2、os.path.join()函数

语法: os.path.join(path1[,path2[,……]])

返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略

#对序列进行操作(分别使用' '与':'作为分隔符)

>>> seq1 = ['hello','good','boy','doiido']

>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido

#对字符串进行操作

>>> seq2 = "hello good boy doiido"

>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o

#对元组进行操作

>>> seq3 = ('hello','good','boy','doiido')

>>> print ':'.join(seq3)
hello:good:boy:doiido

#对字典进行操作

>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}

>>> print ':'.join(seq4)
boy:good:doiido:hello

#合并目录

>>> import os

>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
strip()方法
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
str.strip([chars])
参数 chars – 移除字符串头尾指定的字符。

str = "0000000this is string example....wow!!!0000000"

print (str.strip( '0' ))
1
2
输出:

this is string example....wow!!!

1
replace()
描述
Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法

replace()方法语法:

str.replace(old, new[, max])

参数

old – 将被替换的子字符串。

new – 新字符串,用于替换old子字符串
max – 可选字符串, 替换不超过 max 次

返回值

返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

实例

#!/usr/bin/python

str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
1
2
3
4
5
输出:

thwas was string example….wow!!! thwas was really string
thwas was string example….wow!!! thwas is really string
---------------------
原文:https://blog.csdn.net/qq_40170358/article/details/79774154

转载于:https://www.cnblogs.com/leon0/p/10788565.html

你可能感兴趣的文章
django上传文件
查看>>
CVPR2013-papers
查看>>
Javascript中定义方法的另类写法(批量定义Javascript对象的方法)
查看>>
正则表达式9-分组搜索
查看>>
java class文件结构
查看>>
正确设置-Dfile.encoding参数
查看>>
luvcview,使用mplayer查看摄像头和luvcview保存YUV图像视频的播放(转)
查看>>
CSS3总结(干货)
查看>>
兼容获取scrollTop和scrollLeft(被滚动条卷走的部分)
查看>>
Java使用apache的开源数据处理框架commons-dbutils完成查询结果集的各种处理输出(8种方式)...
查看>>
wordpress如何利用插件添加优酷土豆等视频到自己的博客上
查看>>
sql命令
查看>>
十五的学习日记20160928-扑克牌/目标/Apache外网访问
查看>>
php 1小时入门(一)
查看>>
H5 _拖放使用
查看>>
hdu 5646 拆数积最大 数学
查看>>
20189307《网络攻防》第九周作业
查看>>
hdu4607树的直径,spfa
查看>>
poj2926Requirements (曼哈顿距离)
查看>>
Windows Server 2008 R2 到Windows 7的改造之路
查看>>