python中字符串拆分与合并——split()、join()、strip()和replace()Python3 split()⽅法
描述
split()通过指定分隔符对字符串进⾏切⽚,如果参数num 有指定值,则仅分隔 num 个⼦字符串
语法
split()⽅法语法:
str.split(str="", unt(str))
参数
str – 分隔符,默认为所有的空字符,包括空格、换⾏(\n)、制表符(\t)等。
num – 分割次数。
返回值
返回分割后的字符串列表。
实例
以下实例展⽰了split()函数的使⽤⽅法:
#!/usr/bin/python3
str = "this is wow"
print (str.split( ))
print (str.split('i',1))
print (str.split('w'))
以上实例输出结果如下:
python数组合并['this', 'is', 'string', 'wow']
['th', 's is wow']
['this is ', 'o', '']
注:split()分割字符串返回的是列表
利⽤re模块分割含有多种分割符的字符串:
import re
a='Beautiful, is; better*than\nugly'
# 四个分隔符为:, ; * \n
x= re.split(',|; |\*|\n',a)
print(x)
应⽤
⽹页地址解析
#coding=utf-8
str="www.runoob/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))
结果为
0:att-string-split.html
1:python
2:www.runoob
3:
4:http:
5:['http:', '', 'www.runoob', 'python', 'att-string-split.html']
6:['www.runoob/python/att-string-split.html']
7:['http:', '/www.runoob/python/att-string-split.html']
8:['http:', '', 'www.runoob/python/att-string-split.html']
9:['http:', '', 'www.runoob', 'python/att-string-split.html']
10:['http:', '', 'www.runoob', 'python', 'att-string-split.html']
11:['http:', '', 'www.runoob', 'python', 'att-string-split.html']
处理表格⽂件
<⽂件如下
1 0.0888 201 36.0
2 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]))
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']
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'
strip()⽅法
Python strip() ⽅法⽤于移除字符串头尾指定的字符(默认为空格)。
str.strip([chars])
参数 chars – 移除字符串头尾指定的字符。
str = "0000000this is wow0000000"
print (str.strip( '0' ))
输出:
this is wow
replace()
描述
Python replace() ⽅法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法
replace()⽅法语法:
参数
old – 将被替换的⼦字符串。
new – 新字符串,⽤于替换old⼦字符串
max – 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后⽣成的新字符串,如果指定第三个参数max,则替换不超过 max 次。实例
输出:#!/usr/bin/python
str = "this is wow this is really string"; place("is", "was");
place("is", "was", 3);
thwas was string example….wow thwas was really string thwas was string example….wow thwas is really string
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论