(小甲鱼python)字符串系列笔记合集四 第四课、字符串IV总结 删除字符串中(左右)空格 删除指定的前缀或者后缀 字符串以参数指定的分隔符为依据进行切割,将切割后的结果返回一个三元组

一、字符串总结四

1.删除字符串中(左右)空格或者与之匹配的字符串

“字符串”.lstrip(char=None) 删除左空格
“字符串”.rstrip(char=None) 删除右空格
“字符串”.strip(char=None) 删除空格

>>> "    左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白     ".rstrip()
'右侧不要留白'
>>> "    左右不要留白   ".strip()
'左右不要留白'
#注意:这里我们传入的虽然是一串字符,但它是按照单个字符为单位进行剔除的。
#比如 lstrip("wcom.") 表示在目标字符串的左侧依次寻找 'w'、'c'、'o'、'm'、'.' 这五个字符,匹配任何其中的任何一个都要把它踢掉。
>>> "www.ilovefishc.com".lstrip("wcom.")  #从左侧开始删除,去掉"www."
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")  #删除右侧的".com"
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")  #同时去掉左侧和右侧匹配的字符串
'ilovefish'

2.删除指定的前缀或者后缀 (python版本3.9以上才可以)

“字符串”.removeprefix() 删除前缀
“字符串”.removesuffix() 删除后缀

python3.9以下版本

>>> "www.ilovefishc.com".removeprefix("www.")
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    "www.ilovefishc.com".removeprefix("www.")
AttributeError: 'str' object has no attribute 'removeprefix'
>>> "www.ilovefishc.com".removesuffix(".com")
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    "www.ilovefishc.com".removesuffix(".com")
AttributeError: 'str' object has no attribute 'removesuffix'
>>> 

python3.9以上版本

在这里插入图片描述

3.字符串切割
3.1字符串以参数指定的分隔符为依据进行切割,将切割后的结果返回一个三元组(三个元素的元组)

“字符串”.partition() #从左往右找分隔符
“字符串”.rpartition() #从右往左找分隔符

>>> "www.ilovefishc.com".partition(".")   #以小数点进行分割
('www', '.', 'ilovefishc.com')
>>> "ilovefishc.com/python".rpartition("/")
('ilovefishc.com', '/', 'python')

3.2根据分隔符将字符串切成一小块一小块

“字符串”.split()
“字符串”.rsplit()
“字符串”.lsplit()

>>> "苟日新,日日新,又日新".split()  #默认情况没有做切分
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()       #切分空格    
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(',')  #通过中文逗号切割
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(',')  #从右往左切割
['苟日新', '日日新', '又日新']
>>> 
>>> "苟日新,日日新,又日新".rsplit(',',1)   #从右往左找到第一个分隔符切一刀
['苟日新,日日新,又日新']
>>> "苟日新,日日新,又日新".split(',',1)    #逗号为英文逗号
['苟日新,日日新,又日新']
>>> "苟日新,日日新,又日新".split(',',1)   #从左到右找到第一个分隔符切一刀
['苟日新', '日日新,又日新']
>>> 
>>> "苟日新\n日日新\n又日新".rsplit('\n')   #通过换行符进行分割
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".rsplit('\r')     #
['苟日新', '日日新', '又日新']

3.3换行符混淆用进行切割

splitines(keepends=False)
字符串按行进行分割,将结果以列表形式返回

>>> "苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\r\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\r\n又日新".splitlines(True)   
#Keepends,当为True时则包含换行符,否则默认false不包含
['苟日新\n', '日日新\r\n', '又日新']
>>> 

4.字符串拼接

“字符串”.join()

>>> ".".join(["www","ilovefishc","com"])   #使用列表将多个待拼接的字符串包裹起来,字符串"."是用做进行分割
'www.ilovefishc.com'
>>> "^".join(("F","ish","C"))
'F^ish^C'

>>> s="fishc"
>>> s+="fishc"              #通过加号+进行拼接
>>> s
'fishcfishc'
>>> s="fishc"

>>> ".".join(["fishc"*2])
'fishcfishc'
>>> "".join(("fishc","fishc"))  ##使用元祖将多个待拼接的字符串包裹起来
'fishcfishc'
>>> 

课后题:
1. 请问下面代码打印的内容是什么?

>>> "www.ilovefishc.com".removeprefix("w.")
'www.ilovefishc.com'

解析:区别于上一题,removeprefix(prefix) 和 removesuffix(suffix) 这两个方法是以字符串为单位的。

2. split() 方法常常被应用于对数据的解析处理,那么考考大家,如果要从字符串 “https://ilovefishc.com/html5/index.html” 中提取出 “ilovefishc.com”,使用 split() 方法应该如何实现呢?
答:

>>> "https://ilovefishc.com/html5/index.html".split('//')[1].split('/')[0]
'ilovefishc.com'

解析:

>>> "https://ilovefishc.com/html5/index.html".split('//')
['https:', 'ilovefishc.com/html5/index.html']
>>> "https://ilovefishc.com/html5/index.html".split('//')[1]
'ilovefishc.com/html5/index.html'
>>> "https://ilovefishc.com/html5/index.html".split('//')[1].split('/')
['ilovefishc.com', 'html5', 'index.html']
>>> "https://ilovefishc.com/html5/index.html".split('//')[1].split('/')[0]
'ilovefishc.com'

3. 如果要求按换行符来分割字符串,小甲鱼推荐使用 splitlines() 方法,而非 split(“\n”),你觉得小甲鱼的依据是什么?
答:相比起 split(“\n”) 来说,splitlines() 方法显得更加“智能”,它可以自动判断不同系统的换行符(比如 Linux 系统下的换行符是 “\n”;Mac 是 “\r”;而 Windows 则是 “\r\n”)。另外,splitlines() 方法还可以通过 keepends 参数来指定在结果中保留换行字符。
4.请问下面代码打印的内容是什么?

>>> print(",\n".join("FishC"))
F,
i,
s,
h,
C

题目来自链接: 小甲鱼python

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值