3-1字符串的拆分、匹配和替换

作者: cuzz_ | 来源:发表于2018-03-02 16:56 被阅读15次

如何拆分多种分隔符的字符串

字符串对象str.split()方法只能处理非常简单的情况,而且不支持多个分割符,对分割符周围存在的空格也无能为力,当需要一些更灵活的功能时,应该使用re.spilt()

>>> import re
>>> line = "sdfs sdf, ers; sef|sdf ,sdf     ioi"
>>> re.split(r"[,;|\s]\s*", line)
["sdfs", "sdf", "ers", "sef", "sdf", "sdf", "ioi",]

字符串的开头和结尾的文本匹配

检查字符串的开头或着结尾,只要使用str.startswith()str.endstartsend()

>>> url = "http://www.python.org"
>>> url.startswith("http:")
True

如果要同时对多个选项做检查,只需要给startswith()endswith()添加多个可能选项的元组就可以,一定要是元组不能是列表,不然会报错

>>> url = "http://www.python.org"
>>> url.startswith(("http:", "https:"))
True
>>> url.startswith(["http:", "https:"])
Traceback (most recent call last):]
  File "<stdin>", line 1, in <module>
TypeError: startswith first arg must be str, unicode, or tuple, not list

如何调整字符串文本的格式

image.png
使用正则表达式re.sub(pattern, repl, string, count=0, flags=0)

pattern为表示正则中的模式字符串,
repl为replacement,被替换的内容,repl可以是字符串,也可以是函数。
string为正则表达式匹配的内容。
count由于正则表达式匹配到的结果是多个,使用count来限定替换的个数(顺序为从左向右),默认值为0,替换所有的匹配到的结果。
flags是匹配模式

使用相对位子匹配,第一个括号的内容替换成\1中的内容

>>> import re
>>> text = "Today is 3/2/2018, tomorrow is 3/3/2018"
>>> text1 = re.sub(r"(\d+)/(\d+)/(\d+)", r"\3-\1-\2", text)
>>> print(text1)
Today is 2018-3-2, tomorrow is 2018-3-3

也可以对其命名

>>> import re
>>> text = "Today is 3/2/2018, tomorrow is 3/3/2018"
>>> text1 = re.sub(r"(?P<month>\d+)/(?P<day>\d+)/(?P<year>\d+)", r"\g<year>-\g<month>-\g<day>", text)
>>> print(text1)
Today is 2018-3-2, tomorrow is 2018-3-3

相关文章

  • R学习笔记(7):使用stringr处理字符串(2)

    目标:结合正则表达式,实现 确定与某种模式匹配的字符串找出匹配位置提取匹配内容替换匹配内容基于匹配拆分字符串 1....

  • 1127 chapter 10 stringr 下篇

    工具 确定与某种模式相匹配的字符串; 找出匹配的位置; 提取出匹配的内容; 使用新值替换匹配内容; 基于匹配拆分字...

  • 3-1字符串的拆分、匹配和替换

    如何拆分多种分隔符的字符串 字符串对象str.split()方法只能处理非常简单的情况,而且不支持多个分割符,对分...

  • 正则表达式学习

    一、应用场景 主要用作数据验证、文本替换、内容检索、过滤内容。执行字符串函数无法完成的特殊的匹配拆分替换功能。正则...

  • JavaScript 常用字符串&数组操作方法总结

    字符串操作 字符串截取 slice() 字符串查找、匹配和替换search()、match()和replace()...

  • 字符串

    字符串 4.1 字符串的定义 4.2 字符串的常用操作 1) 判断 2) 查找和替换 3) 拆分和连接 4) 大小...

  • 正则表达式

    概述 正则表达式是专门用来做字符串操作的一种工具,它主要提供了四种功能:文本匹配,文本提取,文本替换, 字符串拆分...

  • JavaScript基础 正则表达式 replace

    字符串.replace( 正则 , 替换的内容)将匹配到的内容替换替换的内容可以是字符串,也可以是带return的...

  • 正则re表达式python

    说明pattern--匹配的正则表达式string--要匹配的字符串repl --要替换的字符串flags--匹配...

  • Python文本操作

    1.用多个分隔符分隔字符串 2.匹配和查找字符串 3.替换字符串

网友评论

    本文标题:3-1字符串的拆分、匹配和替换

    本文链接:https://www.haomeiwen.com/subject/ftmaxftx.html