Python之字符串分割替换移除

Python之字符串分割替换移除

分割

  • split(sep=None, maxsplit=-1) -> list of strings
    • 从左至右
    • sep 指定分割字符串,缺省的情况下空白字符串作为分隔符
    • maxsplit 指定分割的次数,-1 表示遍历整个字符串
    • 立即返回列表
  • rsplit(sep=None, maxsplit=-1) -> list of strings
    • 从右向左开始切,但是输出的字符串字符不会反
    • sep 指定分割字符串,缺省的情况下空白字符串作为分隔符
    • maxsplit 指定分割的次数,-1 表示遍历整个字符串
    • 立即返回列表
  • splitlines([keepends]) -> list of strings
    • 按照行来切分字符串
    • keepends 指的是是否保留行分隔符
    • 行分隔符包括\n、\r\n、\r等
python 复制代码
str.split?
# str.split(self, /, sep=None, maxsplit=-1)
# 查看split的帮助信息。
python 复制代码
",".join('abc')
# 使用join方法拼出一个新的字符串
# 返回结果:'a,b,c'
python 复制代码
a = ",".join('abc').split('b')
print(a)
# 指定b为分割符
# 返回结果:['a,', ',c'],b被切掉了。
  • x等于一个列表,列表中有3个str类型的值,y等于x,使用冒号作为拼接字符
python 复制代码
y.split(':')
# y的值用split的冒号进行分割
# 返回结果:['a', 'b', 'c']
python 复制代码
y.split(':', 1)
# 1是分割一次,如果不指定默认值是-1,从头切到尾
# 返回结果:['a', 'b:c']
python 复制代码
":a:b:c:".split(':')
# 返回结果:['', 'a', 'b', 'c', '']
# 切掉的部分补空格。
python 复制代码
str.rsplit?
# str.rsplit(self, /, sep=None, maxsplit=-1)
# rsplit的帮助信息。
python 复制代码
r"c:\windows\nt".rsplit('\\',1) 
# 从右分割一次,使用\\是因为1个\会被转义。
# 返回结果:['c:\\windows', 'nt']
python 复制代码
'a\nb\r\nc\rd\te   \n  \t  f'.split()
# 不指定分割符,按照空白字符切
# 返回结果:['a', 'b', 'c', 'd', 'e', 'f']
python 复制代码
'a\nb\r\nc\rd\te   \n  \t  f'.split('\n')
# 如果指定了分隔符,指定了什么就使用什么进行分割
# 返回结果:['a', 'b\r', 'c\rd\te   ', '  \t  f']
python 复制代码
'a\nb\r\nc\rd\te   \n  \t  f'.splitlines()
# 只分割 \r \n \r\n
# 返回结果:['a', 'b', 'c', 'd\te   ', '  \t  f']
python 复制代码
'a\nb\r\nc\rd\te   \n  \t  f'.splitlines(True)
# 切掉的分隔符又回来了
# 返回结果:['a\n', 'b\r\n', 'c\r', 'd\te   \n', '  \t  f']
python 复制代码
'a\nb\r\nc\rd\te   \n  \t  f'.splitlines(False)
# 返回结果:['a', 'b', 'c', 'd\te   ', '  \t  f']
python 复制代码
"abcd".partition('b')
# 指定b为分割符,只切一刀,返回元组
# 返回结果:('a', 'b', 'cdb')
python 复制代码
"a,b,c,d".split(':')
# 如果指定参数不能分割,返回一个列表,列表中是原值
# 返回结果:['a,b,c,d']
python 复制代码
"a,b,c,d".partition(":")
# 如果指定参数不能分割就返回空串
# 返回结果:('a,b,c,d', '', '')
python 复制代码
"a,b,c,d".rsplit(':')
# 返回结果:['a,b,c,d']
python 复制代码
"a,b,c,d".rpartition(":")
# 返回结果:('', '', 'a,b,c,d')

替换

  • replace(old, new[, count]) -> str
    • 字符串中找到匹配替换为新子串,返回新字符串
    • count表示替换几次,不指定就是全部替换
python 复制代码
str.replace?
# str.replace(self, old, new, count=-1, /)
python 复制代码
"a,b,c".replace(',', ' * ') 
# 括号中指定,前面是替换的内容逗号,后面是替换的值星号
# 返回结果:'a * b * c'
python 复制代码
"www.simple.com".replace('w', 'a')
# 返回结果:'aaa.simple.com'
python 复制代码
"www.simple.com".replace('ww', 'a')
# 返回结果:'aw.simple.com'
python 复制代码
"www.simple.com".replace('www', 'a')
# 返回结果:'a.simple.com'
python 复制代码
"www.simple.com".replace('ww', 'w')
# 返回结果:'ww.simple.com'

移除

  • strip([chars]) -> str
    • 在字符串两端去除指定的字符集chars中的所有字符
    • 如果chars没有指定,去除两端的空白字符
  • lstrip([chars]) -> str ,从左开始
  • rstrip([chars]) -> str,从右开始
python 复制代码
str.strip? # 移除
# str.strip(self, chars=None, /)
str.rstrip? # 右移除
# str.rstrip(self, chars=None, /)
str.lstrip? # 左移除
# str.lstrip(self, chars=None, /)
python 复制代码
'\t\ra,b '.strip()
# 空白字符全移除
# 返回结果:'a,b'
python 复制代码
'\t\ra,b '.rstrip()
# 空白字符右移除
# 返回结果:'\t\ra,b'
python 复制代码
'\t\ra,b '.lstrip()
# 空白字符左移除
# 返回结果:'a,b '
python 复制代码
'\r\n\t    a\nb\r\nc\rd\te    \n    \t   f\f\t    '.strip()
# strip 将字符串两端的空白字符拿掉
# 返回结果:'a\nb\r\nc\rd\te    \n    \t   f'
python 复制代码
'\r\n\t    a\nb\r\nc\rd\te    \n    \t   f\f\t    '.strip('\r\t')
# 返回结果:'\n\t    a\nb\r\nc\rd\te    \n    \t   f\x0c\t    '
python 复制代码
'\r\n\t    a\nb\r\nc\rd\te    \n    \t   f\f\t    '.strip('\r\t ')
# 返回结果:'\n\t    a\nb\r\nc\rd\te    \n    \t   f\x0c'
python 复制代码
'\r\n\t    a\nb\r\nc\rd\te    \n    \t   f\f\t    '.strip('\r\t \n')
# 返回结果:'a\nb\r\nc\rd\te    \n    \t   f\x0c'
python 复制代码
'\r\n\t    a\nb\r\nc\rd\te    \n    \t   f\f\t    '.strip('\r\t \n\fabf')
# 返回结果:'c\rd\te'
相关推荐
老歌老听老掉牙12 分钟前
解决 PyQt5 中 sipPyTypeDict() 弃用警告的完整指南
python·qt
武陵悭臾13 分钟前
Python应用开发学习: Pygame 中实现数字水平靠右对齐和垂直靠底对齐
python·学习·程序人生·游戏·个人开发·学习方法·pygame
兜有米啦17 分钟前
python练习题3
开发语言·python
Wzx19801224 分钟前
go基础语法练习
开发语言·后端·golang
忧郁的蛋~44 分钟前
.NET异步编程中内存泄漏的终极解决方案
开发语言·前端·javascript·.net
2301_795167201 小时前
玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从&T类型变量创造一个新的T类型变量
开发语言·后端·rust
你才是向阳花1 小时前
如何用Python实现飞机大战小游戏
开发语言·python·pygame
合作小小程序员小小店1 小时前
web网页开发,在线%商城,电商,商品购买%系统demo,基于vscode,apache,html,css,jquery,php,mysql数据库
开发语言·前端·数据库·mysql·html·php·电商
草莓熊Lotso1 小时前
C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析
前端·网络·c++·人工智能·后端·python·功能测试
星释1 小时前
Rust 练习册 :Phone Number与电话号码处理
开发语言·机器学习·rust