资讯专栏INFORMATION COLUMN

Python:字符串与正则表达式

fobnn / 3381人阅读

摘要:代码说明其中表示需要取子串的源字符串变量。如果等于,将把源字符串分割为个子串。字符串连接后,将分配新的空间给连接后的字符串,源字符串保持不变。注意相当于分片,是源字符串中最后一个索引。不能用于比较源字符串中任意一部分的子串。

6.1 常见的字符串操作 6.1.1 字符串的格式化
"%s" % str1
"%s %s" % (str1, str2)

使用%f可以格式化浮点数的精度,根据指定的精度做“四舍五入”。

注意:

如果要在字符串中输出“%”,需要使用“%%”。

Python可以实现字符串的对齐操作,类似C语言中的“%[[+/-]n]s”。此外,还提供了字符串对齐的函数。

# 字符串对齐

word = "version3.0"
print(word.center(20))
print(word.ljust(0))
print(word.rjust(0))
print("%30s" % word)
6.1.2 字符串的转义符

Python中转义字符的用法和Java相同,都是使用“”作为转义字符。

Python还提供了函数strip()、lstrip()、rstrip()去掉字符串中的转义符。

6.1.3 字符串的合并

与Java语言一样,Python使用“+”连接不同的字符串。Python会根据“+”两侧变量的类型,决定执行连接操作或加法运算。如果“+”两侧都是字符串类型,则进行连接操作;如果“+”两侧都是数字类型,则进行加法运算;如果“+”两侧是不同的类型,将抛出异常。

Python提供了函数join()和reduce()连接字符串。

6.1.4 字符串的截取

Python由于内置了序列,可以通过前面介绍的索引、切片获取子串,也可以使用函数split()来获取。

通过切片可以实现对字符串有规律的截取。切片的语法格式如下所示。

string[start : end : step]

通过切片可以实现对字符串有规律的截取。切片的语法格式如下所示。

string[start : end : step]

代码说明:

其中string表示需要取子串的源字符串变量。[start:end:step]表示从string的第start个索引位置开始到第end个索引之间截取子串,截取的步长是step。即每次截取字符string[start+step],直到第end个索引。索引从0开始计数。

如果要同时截取多个子串,可以使用函数split()实现。函数split()的声明如下所示。

split([char] [,num])

代码说明:

• 参数char表示用于分割的字符,默认的分割字符是空格。
• 参数num表示分割的次数。如果num等于2,将把源字符串分割为3个子串。默认情况下,将根据字符char在字符串中出现的个数来分割子串。
• 函数的返回值是由子串组成的列表。

字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。

6.1.5 字符串的比较

字符串的比较Java使用equals()比较两个字符串的内容,Python直接使用“==”“!=”操作符比较两个字符串的内容。如果比较的两个变量的类型不相同,比较的内容也不相同。

如果要比较字符串中的一部分内容,可以先截取子串,再使用“==”操作符进行比较。如果要比较字符串的开头或结尾部分,更方便的方法是使用startswith()endswith()函数。startswith()的声明如下所示。

startswith(substring, [,start [,end]])

代码说明:

• 参数substring是与源字符串开头部分比较的子串。
• 参数start表示开始比较的位置。
• 参数end表示比较结束的位置,即在start:end范围内搜索子串substring。
• 如果字符串以substring开头,则返回True;否则,返回False。

endswith()的参数和返回值类似startswith(),不同的是endswith()从源字符串的尾部开始搜索。

注意: 

startswith()endswith()相当于分片[0:n],n是源字符串中最后一个索引。startswith()endswith()不能用于比较源字符串中任意一部分的子串。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45401.html

相关文章

  • Python基础教程:-正则达式基本语法以及re模块

    摘要:正则表达式关闭或可选标志。如果所含正则表达式,以表示,在当前位置成功匹配时成功,否则失败。否则指的是八进制字符码的表达式。 正则表达式是个很牛逼的东西,不管是在javascript,还是在Python web开发(http://www.maiziedu.com/course/python-px...)中,我们都会遇到正则表达式,虽然javascript和Python的正则表达式区别不大...

    y1chuan 评论0 收藏0
  • PythonPython正则达式使用指导

    摘要:反斜杠的困扰与大多数编程语言相同,正则表达式里使用作为转义字符,这就可能造成反斜杠困扰。文本中正则表达式结束搜索的索引。以元组形式返回全部分组截获的字符串。用于指定最大分割次数,不指定将全部分割。 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法...

    nihao 评论0 收藏0
  • Python正则达式很难?一篇文章搞定他,不是我吹!

    摘要:正则表达式语法字符与字符类特殊字符以上特殊字符要想使用字面值,必须使用进行转义字符类包含在中的一个或者多个字符被称为字符类,字符类在匹配时如果没有指定量词则只会匹配其中的一个。 1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时如果没有指...

    dcr309duan 评论0 收藏0
  • 使用Python正则达式操作文本数据

    摘要:在中,使用的内置模块处理正则表达式操作。使用正则表达式对象在字符串中搜索模式。编写和使用正则表达式在中创建正则表达式的第一步是导入模块正则表达式使用模式字符串表示,模式字符串是指定所需搜索模式的字符串。 showImg(https://segmentfault.com/img/remote/1460000019166945?w=504&h=300); 来源 | 愿码(ChainDes...

    Yuanf 评论0 收藏0
  • Python正则达式如何实现重叠匹配

      本文主要是给大家介绍的是,Python中正则表达式如何实现重叠匹配的具体操作方法,给大家贴出了具体实例代码,希望能给各位读者带来一定的帮助。正则表达式实现重叠匹配importregex string='100101010001' str_re='101' print(regex.findall(str_re,string,overlapped=True))普通的...

    89542767 评论0 收藏0
  • Python中的正则达式

    摘要:正则表达式匹配的字符串限定范围和否定除了单字符外,字符集还支持匹配指定的字符范围。问号要求正则表达式引擎在当前正则表达式中尽可能少地匹配字符。正则表达式匹配的字符串表示简单浮点数的字符串扩展表示法正则表达式的扩展表示法,以问号开始。 简介 正则表达式 是包含文本和特殊字符的字符串, 为高级的文本模式匹配, 抽取, 与文本形式的搜索和替换功能提供了基础 Python通过标准库re模...

    Lowky 评论0 收藏0

发表评论

0条评论

fobnn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<