马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 15271953841 于 2024-2-21 06:31 编辑
Python 3.12.1 (tags/v3.12.1:2305ca5, Dec 7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
截取方法
strip(chars=None)
lstrip(chars=None)
rstrip(chars=None)
removeprefix(prefix)
removesuffix(suffix)
" 左侧不要留空白".lstrip ()
'左侧不要留空白'
"右侧不要留空白 ".rstrip()
'右侧不要留空白'
" 左右都不要留空白 ".strip()
'左右都不要留空白'
"www.ilovefishc.com".lstrip("wcom.") (它是按照单个字符为单位进行匹配去剔除,比如说lstrip它是再左侧依次去寻找w,c,o,m,.,这五个字符的。
'ilovefishc.com'
"www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
"www.ilovefishc.com".strip("wcom.")
'ilovefish'
"www.ilovefishc.com".strip("wcomi.")
'lovefish'
"www.ilovefishc.com".strip("wcomish.")
'lovef'
"www.ilovefishc.com".strip("wcomishlve.")
'f'
"www.ilovefishc.com".strip("wcomishlv.")
'ef'
"www.ilovefishc.com".strip("wcomishl.")
'vef'
"www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
"www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'
prefix前缀,suffix后缀,这两种方法匹配的是参数指定的整个字符串,不是单个字符。
拆分&拼接
partition(sep)
rpartition(sep) 就是将字符串以参数指定的分隔符为依据切割并且将切割后的结果返回一个三元组(三个元素的元组)。前者从左往右找,后者从右往左找。
"www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com') (依次为分隔符左侧的内容,分隔符,分隔符右侧的内容)
"www.ilovefishc.com/python".rpartition("/")
('www.ilovefishc.com', '/', 'python')
根据分隔符,将字符串切成一小块一小块的。
split(sep=None,maxsplit=-1)
"苟日新,日日新,又日新".split() (默认情况下不带参数)
['苟日新,日日新,又日新'] (把字符串变成列表中的一个元素)
"苟日新 日日新 又日新".split() (默认下它是切分空格的)
['苟日新', '日日新', '又日新']
"苟日新,日日新,又日新".split(",") (通过第一个参数,指定分隔符,这里的逗号为中文)
['苟日新', '日日新', '又日新']
"苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
"苟日新,日日新,又日新".split(",") (这里的逗号为英文)
['苟日新', '日日新', '又日新']
"苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
split和rsplit还有第二个参数,可以灵活指定分割的次数,默认值为-1,-1表示找到分割符,一刀切下去,不管三七二十一。
"苟日新,日日新,又日新".split(",",1) (这里第一给逗号为中文,第二个是英文)
['苟日新', '日日新,又日新']
"苟日新,日日新,又日新".rsplit(",",1)
['苟日新,日日新', '又日新']
"苟日新\n日日新\n又日新".split("\n")
['苟日新', '日日新', '又日新']
不同操作系统之间,对于换行符是引发过战争的,\n在Linux系统下;\r在Classic Mac OS;\r\n在Microsoft Windows下。
"苟日新\r日日新\r又日新".split("\r")
['苟日新', '日日新', '又日新']
如果同出现不同的换行符,如果前面是\n,后面是\r,怎么办?
splitlines(keepends=False),这个参数是指定结果是否要包含这个换行符。
"苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
"苟日新\n日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
"苟日新\n日日新\r\n又日新".splitlines()
['苟日新', '日日新', '又日新']
"苟日新\n日日新\r\n又日新".splitlines(True)
['苟日新\n', '日日新\r\n', '又日新']
特别重要:join(iterable)有关字符串拼接的
".".join(["www","ilovefishc","com"])
'www.ilovefishc.com'
"^".join(("F","ish","C"))
'F^ish^C'
"".join(("F","ish","C"))
'FishC'
s="FishC"
s += s
s
'FishCFishC' (这种方法速度慢)
"".join(("FishC","FishC")) (这种方法速度快)
或
'FishCFishC'
"".join(("FishC")*2)
'FishCFishC'
"".join(["FishC"])
'FishC'
"".join(["FishC"]*2)
'FishCFishC'
"".join(["FishC","FishC"])
'FishCFishC'
"".join(("FishC"*2))
'FishCFishC'
"".join(["FishC"*2])
'FishCFishC'
"".join(["FishC" for i in range(2)])
'FishCFishC'
|