购买主题
哈哈
来了
本节讲了“截取”、“拆分”和“拼接”三种类别下的总共11个方法,都很实用。其中用于拆分字符串的split()和rsplit()方法非常灵活;用于拼接字符串的join()方法十分常用,也很高效——经测试,使用join()方法比使用加号拼接字符串的速度要快得多,并且随着数据的增加,两者的性能差距越来越大,这也正是大牛忠爱join()方法的原因!
小古比鱼 发表于 2021-3-4 17:24
本节讲了“截取”、“拆分”和“拼接”三种类别下的总共11个方法,都很实用。其中用于拆分字符串的split() ...
请问lstrip怎么界定哪几个字符是属于左边的字符呢?哪些是右呢?是不是当截取掉参数指定的字符后,一直截取到没有指定的参数为止?也就是说只要能截取就认为是左边(或右边)
O2H2O 发表于 2021-4-29 17:00
请问lstrip怎么界定哪几个字符是属于左边的字符呢?哪些是右呢?是不是当截取掉参数指定的字符后,一直截 ...
是的,小古比鱼也是这么理解的。
**字符串4**
截取:strip(chars=None) lstrip(chars=None) rstrip(chars=None) removeprefix(chars=None) rempvesuffix(chars=None)
strip(chars=None):返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
lstrip(chars=None):返回一个去除左侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
rstrip(chars=None):返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
>>> " 左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白 ".rstrip()
'右侧不要留白'
>>> " 左右不要留白 ".strip()
'左右不要留白'
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
[按照单个字符为单位,在目标字符串依次寻找,直至遇到第一个不相同的字符时停止]
removeprefix(chars=None):如果存在 chars 参数指定的前缀子字符串,则返回一个将该前缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝
rempvesuffix(chars=None):如果存在 chars 参数指定的后缀子字符串,则返回一个将该后缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝
>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'
拆分和拼接:partition(sep) rpartition(sep) split(sep=None,maxsplit=-1) rsplit(sep=None,maxsplit=-1) splitlines(keepends=False) join(iterable)
partition(sep):在字符串中自左往右搜索 sep 参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('原字符串', '', '')
rpartition(sep):在字符串中自右向左搜索sep参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('', '', '原字符串')
>>> "www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com')
>>> "www.ilovefishc.com/python".rpartition("/")
('www.ilovefishc.com', '/', 'python')
split(sep=None,maxsplit=-1):将字符串自左往右进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制
rsplit(sep=None,maxsplit=-1):将字符串自右向左进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit 参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制
>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()[默认情况下会切分空格]
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",", 1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",", 1)
['苟日新,日日新', '又日新']
splitlines(keepends=False):将字符串按行分割,并将结果以列表的形式返回;keepends 参数指定是否包含换行符,True 是包含,False 是不包含
>>> "苟日新\n日日新\n又日新".split('\n')
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".split('\r')
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines(True)
['苟日新\r', '日日新\r\n', '又日新']
[\n在Linux系统下表示换行,在Mac系统下换行符则是\r,Windows系统下是\r\n]
join(iterable):连接多个字符串并返回一个新字符串;以调用该方法的字符串作为分隔符,插入到 iterable 参数指定的每个字符串的中间;例如:'^'.join(\["F", "i", "sh", "C"\]) -> 'F^i^sh^C'
>>> ".".join(["www", "ilovefishc", "com"])
'www.ilovefishc.com'
>>> "^".join(("F", "ish", "C"))
'F^ish^C'
>>> s = "FishC"
>>> s += s
>>> s
'FishCFishC'
>>> "".join(("FishC", "FishC"))
'FishCFishC'
复习:
**字符串4**
截取:strip(chars=None) lstrip(chars=None) rstrip(chars=None) removeprefix(chars=None) rempvesuffix(chars=None)
strip(chars=None):返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
lstrip(chars=None):返回一个去除左侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
rstrip(chars=None):返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
>>> " 左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白 ".rstrip()
'右侧不要留白'
>>> " 左右不要留白 ".strip()
'左右不要留白'
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
[按照单个字符为单位,在目标字符串依次寻找,直至遇到第一个不相同的字符时停止]
removeprefix(chars=None):如果存在 chars 参数指定的前缀子字符串,则返回一个将该前缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝
rempvesuffix(chars=None):如果存在 chars 参数指定的后缀子字符串,则返回一个将该后缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝
>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'
拆分和拼接:partition(sep) rpartition(sep) split(sep=None,maxsplit=-1) rsplit(sep=None,maxsplit=-1) splitlines(keepends=False) join(iterable)
partition(sep):在字符串中自左往右搜索 sep 参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('原字符串', '', '')
rpartition(sep):在字符串中自右向左搜索sep参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('', '', '原字符串')
>>> "www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com')
>>> "www.ilovefishc.com/python".rpartition("/")
('www.ilovefishc.com', '/', 'python')
split(sep=None,maxsplit=-1):将字符串自左往右进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制
rsplit(sep=None,maxsplit=-1):将字符串自右向左进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit 参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制
>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()[默认情况下会切分空格]
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",", 1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",", 1)
['苟日新,日日新', '又日新']
splitlines(keepends=False):将字符串按行分割,并将结果以列表的形式返回;keepends 参数指定是否包含换行符,True 是包含,False 是不包含
>>> "苟日新\n日日新\n又日新".split('\n')
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".split('\r')
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines(True)
['苟日新\r', '日日新\r\n', '又日新']
[\n在Linux系统下表示换行,在Mac系统下换行符则是\r,Windows系统下是\r\n]
join(iterable):连接多个字符串并返回一个新字符串;以调用该方法的字符串作为分隔符,插入到 iterable 参数指定的每个字符串的中间;例如:'^'.join(\["F", "i", "sh", "C"\]) -> 'F^i^sh^C'
>>> ".".join(["www", "ilovefishc", "com"])
'www.ilovefishc.com'
>>> "^".join(("F", "ish", "C"))
'F^ish^C'
>>> s = "FishC"
>>> s += s
>>> s
'FishCFishC'
>>> "".join(("FishC", "FishC"))
'FishCFishC'
痴我一拳 发表于 2021-5-20 14:58
复习:
**字符串4**
十分感谢!
>>> " 左侧不要留白".lstrip
<built-in method lstrip of str object at 0x000001E1519B03B0>
>>> " 左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白".rstrip()
'右侧不要留白'
>>> " 两边都不要留白".strip()
'两边都不要留白'
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'
>>> "www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com')
>>> "www.ilovefishc.com".rpartition(".")
('www.ilovefishc', '.', 'com')
>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",",1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",",1)
['苟日新,日日新', '又日新']
>>> "苟日新/n日日新/n又日新".rsplit("/n")
['苟日新', '日日新', '又日新']
>>> "苟日新/r日日新/r又日新".rsplit("/r")
['苟日新', '日日新', '又日新']
>>> "苟日新/n日日新/n又日新".splitlines()
['苟日新/n日日新/n又日新']
>>> "苟日新/r日日新/r又日新".splitlines()
['苟日新/r日日新/r又日新']
>>> "苟日新/r/n日日新/r/n又日新".splitlines()
['苟日新/r/n日日新/r/n又日新']
>>> "苟日新/r/n日日新/r/n又日新".splitlines(True)
['苟日新/r/n日日新/r/n又日新']
>>> ".".join(["www","ilovefishc",".com"])
'www.ilovefishc..com'
>>> ".".join(["www","ilovefishc","com"])
'www.ilovefishc.com'
>>> "^".join(("F","ish","C"))
'F^ish^C'
>>> "".join(("Fish"*2))
'FishFish'
>>>
{:10_256:}
打卡~~{:10_254:}{:10_254:}
怎么这里人这么少
>>>"www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
rstiip 和 lstrip 截取过程中是按照单个字符为单位,在目标字符串依次寻找,直至遇到第一个不相同的字符时停止
那为什么>>>"www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com' 中o为什么没被截取掉
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish' 中c可以被截掉
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com' 此处wcom.四个元素分别从左到右在目标字符串依次寻找,为什么o没被截取{:10_269:}
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish' 此处o被截取 可以理解
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
打卡
感觉认真学习的自己还是有进步啊呀,至少能看懂一些简单的玩意儿了
在使用removeprefix和removesuffix的时候python报错了,检查了一下之后我发现我的python3.8.0的字符串没有这两个方法……这是版本问题还是有什么东西没安装上的问题啊orz{:10_266:}
学习打卡
温故一下
已有 25 人购买 本主题需向作者支付 5 鱼币 才能浏览