美文网首页
python字符串与正则表达式学习笔记 1

python字符串与正则表达式学习笔记 1

作者: 啾哥 | 来源:发表于2018-04-26 20:25 被阅读0次

字符串

        现在我们常见的编码格式主要有UTF-8、UTF-16、UTF-32、GB2312、GBK、CP936、base64、CP437等等。

        GB2312是我国制定的中文编码,使用1个字节表示英语,2个字节表示中文。

        UTF-8对全世界所有国家需要用到的字符进行了编码,以1个字节表示英语字符(兼容ASCII),以3个字节表示中文。

        1.现在的python 3.x支持中文字符,默认使用utf8编码格式。


 例如:        >>>姓名 = '张三'            #使用中文作为变量名

                    >>>print(姓名)              #输出变量的值

                    张三

        注意:引号类字符要使用英文字符。


        2.在Python中,字符串属于不可变序列类型。


例如:定义一个字符串,我们可以用字符串的下表来表示一个字符,但是不能用下边来改变这个字符(如下图一)。

图一

        3.Python字符串驻留机制:对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本。长字符串不遵守驻留机制。


例如:短字符的内存地址是一样的,长字符的内存地址不一样(这和python的内核实现有关)如图二:

图二

字符串格式化

        1.常用的格式字符(如图三)


图三

        2.使用format方法进行格式化


例如:第一个遍历使用map函数(可迭代的映射:把weather内的映射到formatter中)根据下标分别格式化到相应位置,第二个遍历是直接遍历weather。如下两图:

图四 图五

        3.python 3.6.x定义的新格式化方式Formatted String Literals


例如:Formatted String Literals,其含义与字符串对象的format()方法类似,但形式更加简洁。直接f ‘xxx’进行格式化。

图六

字符串常用方法

        1.find()、rfind()、index()、rindex()、count()

                find()和rfind方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1;

                index()和rindex()方法用来返回一个字符串在另一个字符串指定范围中首次和最后一次出现的位置,如果不存在则抛出异常;

                count()方法用来返回一个字符串在另一个字符串中出现的次数。


例如:

图七

        2.split()、rsplit()、partition()、rpartition()

                split()和rsplit()方法分别用来以指定字符为分隔符,将字符串左端和右端开始将其分割成多个字符串,并返回包含分割结果的列表;

                partition()和rpartition()用来以指定字符串为分隔符将原字符串分割为3部分,即分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。


例如:

图八 图九

        3. 字符串连接join


例如:

图十

        4.lower()、upper()、capitalize()、title()、swapcase()

                lower返回小写字符串

                upper返回大写字符串

                capitalize字符串首字母大写

                title每个单词首字母大写

                swapcase大小写互换


例如:

图十一

        5.查找替换replace()


例如:测试用户输入中是否有敏感词,如果有的话就把敏感词替换为3个星号***

(如图十三)。

图十二 图十三

        6.maketrans()与translate()

                maketrans()方法用来生成字符映射表,translate()方法用来根据映射表中定义的对应关系转换字符串并替换其中的字符,使用这两个方法的组合可以同时处理多个不同的字符,replace()方法则无法满足这一要求。


例如:创建映射表,将字符"abcdef123"一一对应地转换为"uvwxyz@#$"(图十四)。凯撒加密(图十五)。

图十四 图十五

        7.strip()、rstrip()、lstrip()

                strip() 删除字符两边的指定字符

                rstrip() 删除字符串右端指定字符

                lstrip() 删除字符串左端指定字符


例如:

图十六

        这三个函数的参数指定的字符串并不作为一个整体对待,而是在原字符串的两侧、右侧、左侧删除参数字符串中包含的所有字符,一层一层地从外往里扒。

图十七

        8.成员判断,关键字in

                测试一个字符中是否存在于另一个字符串中,关键字in左边的字符串作为一个整体对待。


例如:

图十八

        9.s.startswith(t)、s.endswith(t)

                判断字符串是否以指定字符串开始或结束


例如:

图十九

                实现文件的快速查找功能

相关文章

  • Django URL传参

    1. 正则表达式匹配传参: 链接网页形如:/list/python/时,通过正则表达式匹配到字符串"python"...

  • python的正则表达式

    python的正则表达式跟perl语言的很像,用来处理字符串比较方便,记一下学习笔记。 一、常用方法: 测试数据:...

  • Python ☞ day 11

    Python学习笔记之 正则表达式 re模块概述:Python自1.5以后增加了re的模块,提供了正则表达式模式...

  • 正则表达式

    python学习笔记-正则表达式 标签 : python 特殊符号和字符 re模块:核心函数和方法

  • 正则表达式

    笔记 正则表达式:用来做字符串查找、匹配、切割用的一种工具。 python对正则表达式的支持:提供了re模块(py...

  • ES6-02 字符串与正则表达式

    ES6学习笔记-字符串与正则表达式 JS字符串编码 在ES6之前,JS的字符串以16位字符编码(UCS-2)为基础...

  • python 进程和线程之正则表达式

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 正则表达式 字符串是编程时涉及到的最多的一种数据...

  • 大师兄的Python学习笔记(十七): Mail编程

    大师兄的Python学习笔记(十六): FTP与ftplib大师兄的Python学习笔记(十八): Python与...

  • python字符串与正则表达式学习笔记 1

    字符串 现在我们常见的编码格式主要有UTF-8、UTF-16、UTF-32、GB2312、GBK、CP93...

  • Python基础知识1 20190415

    python学习笔记 2019年4月15日(Python基础知识) 1.定义变量 字符串需要用双引号包括如:a=“...

网友评论

      本文标题:python字符串与正则表达式学习笔记 1

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