python字符串比较

正则与re模块

99封情书 提交于 2019-11-29 02:24:17
一、正则表达式 在线测试工具 http://tool.chinaz.com/regex/ 1.字符组 在 同一个位置 可能出现的各种字符组成一个字符组,在正则表达中用[ ]表示 一个正则就是一条匹配规则,可以规定一次匹配字符的长度,字符组每次匹配一个长度为1的字符,例如:待匹配字符为:2a+ 使用字符组进行匹配时就会进行三次比较 正则 待匹配字段 匹配结果 说明 [0123456789] 5 5 在一个字符组里枚举所有合法的字符,待匹配字符与其中一个相同,即便匹配成功 [0123456789] 56 5和6 匹配个数为2 (见第二条说明) [0-9] 7 7 用-表示范围,[0-9]和[0123456789]规则相同 [a-z] h h 匹配所有的小写字母 [a-z] 7h h 匹配个数为1 [A-Z] B B 匹配所有的大写字母 [0-9a-dA-D] 1ecD 1、c和D 匹配个数为3 (该正则可以匹配十六进制字符) 2.字符 元字符 待匹配字符 匹配个数 匹配说明 . 1$,a 4 匹配除换行符以外的任意字符 \w _1w@ 3 匹配字母数字下划线 \W _1w@ 1 匹配非字母数字下划线 \s 匹配空白(空格、换行和tab) \S 匹配非空白 \d 匹配数字 \D 匹配非数字 \n 匹配一个换行符 \t 匹配一个制表符 \b a 2+ 4 匹配字符的开始或结束 ^

Python 列表,元组,字典

烈酒焚心 提交于 2019-11-29 01:59:36
0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_str[-2] #取倒数第二个字符串,返回值为"o",-1则为倒数第一 >>>py_str[2:4] #取第二和第三个字符串,返回至为"th" >>>py_str[2:] #取第二个和后面全部的字符串,返回至为"thon" >>>py_str[:4] #取前四个字符串,返回值为"pyth" >>>py_str[::2] #取(步长值)0,2,4,6,8...相当于[0::2],返回至"pto" >>>py_str[1::2] #返回值"yhn"1,3,5,7... >>>py_Str[::-1] #反着取,返回值"nohtyp" >>>t in py_str #返回true >>>t not in py_str #返回false >>>py_str.lower() #大写转换成小写 >>>py_str.upper() #小写转换成大写 >>>py_str.capitalize() #首字母大写 >>>py_str.strip() #去除字符串两边的空白(包含空格,tab键,回车等) >>>py_str.lstrip() #去除字符串左边的空白 >>>py_str.rstrip() #去除字符串右边的空白 >>>py_str.center(3,'

七、数据提取之JSON与JsonPATH

我与影子孤独终老i 提交于 2019-11-29 00:40:13
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 JSON和XML的比较可谓不相上下。 Python 2.7中自带了JSON模块,直接 import json 就可以使用了。 官方文档: http://docs.python.org/library/json.html Json在线解析网站: http://www.json.cn/# JSON json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构 对象:对象在js中表示为 { } 括起来的内容,数据结构为 { key:value, key:value, ... } 的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是数字、字符串、数组、对象这几种。 数组:数组在js中是中括号 [ ] 括起来的内容,数据结构为 ["Python", "javascript", "C++", ...] ,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

Python:文件操作

牧云@^-^@ 提交于 2019-11-29 00:18:28
问题20:如何读写文本文件 关于文件操作,参考: Python:文件操作 知识点杂集: 一、文件存储与读取的步骤: 1)思路: str.encode('编码格式'):对unicode字符串进行 编码 ,编码成连续字节的格式,才能存放到文件中,即 物理介质上 ; str.decode('解码格式'):对物理介质上的连续字节数据进行解码,解码常unicode格式的数据,才能在python的IDE上显示; #编码格式:UTF-8、GBK、BIG5; #python内部用unicode编码,来表示一个 字符 ;显示格式也是unicode;   ==>unicode编码才是真正意义上的字符串; 2)打开文件、将数据存储到文件中、关闭文件、打开并读取文件内容 A、打开文件:open()函数 完整格式:open(file, mode = 'r', buffering = -1, encoding = None, errors = None, newline = None, closefd = True, opener = None) #file:需要打开的文件的物理地址 + 文件名;默认打开当前目录(IDE所操作的.py文件所在文件夹)下的文件,即只有文件名,不带文件物理地址; #mode:打开的方式; 二、实例 实例1:unicode格式和str格式的转换: s = u'你好' #encode

学习 正则表达式 js java c# python 通用

我只是一个虾纸丫 提交于 2019-11-28 21:52:43
正则表达式 js java c# python 学习网站 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp 概念 正则表达式是为了解决字符串操作中一些比较麻烦的场景,比如字符串提取、字符串替换、字符串验证等 常用于:表单验证:是否是一个数字、是一个电话号码、是一个邮箱。。。 字符串替换: 字符串查找 正则表达式其实也是js里面的一个对象 创建一个正则表达式 var reg2=new RegExp("a"); var reg1=/a/; 其中//是标记,a表示要匹配的字符 正则表达式匹配 var reg=/a/; //匹配字符串中的a字符 reg.test("abc"); //正则表达式的test用来检测字符串是否满足正则表达式的要求; //由于"abc"中存在a,所以是符合要求的,所以这段代码的返回值为:true const isTrue = reg.test("coke"); //由于"coke"中不存在a字符,所以不符合条件 -->isTrue:false var reg2=/abc/; reg2.test("adbcd"); //字符串中必然存在"abc"才符合要求,所以这段代码的返回值为false reg2.test("1abc"); //true

python 读写 json文件

ⅰ亾dé卋堺 提交于 2019-11-28 19:29:26
这周开始了实习, 由于公司的数据组使用的hadoop的数据仓库, 所以作为爬虫组的一般是把文件写入到文件中, 然后给数据组再次清洗。在选择文件的格式中, 选择了json。为什么呢? json的优势: 1. 数据体积方面。 JSON相对于XML来讲,数据的体积小,传递的速度更快些。 2. 传输速度方面。 JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, 格式都是压缩的。 4. 与python的交互使用方便 json 是 k-v结构的形式, 简单来说, 如果是一个key,对应一个value.中间用 : 分隔,最外面用{}包围, 不同键值对之间用逗号,隔开 {‘key1’: 'value1', 'key2': 'value2', 'key3': 'value3'} 如果有一个Key对应着多个value的情况,用[]把对应的所有value包括起来。 {'key1': ['v11', 'v12', 'v13'], 'key2':'v22'} 复杂一点的还有这样的,不过其实原理都一样。 { "people":[ { "firstName": "Brett", "lastName":"McLaughlin" }, { "firstName":"Jason", "lastName":"Hunter" } ] } json是什么呢? 是一种轻量级的数据交换格式。

python 读写 json文件

早过忘川 提交于 2019-11-28 19:29:09
json的优势: 1. 数据体积方面。 JSON相对于XML来讲,数据的体积小,传递的速度更快些。 2. 传输速度方面。 JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, 格式都是压缩的。 4. 与python的交互使用方便 json 是 k-v结构的形式, 简单来说, 如果是一个key,对应一个value.中间用 : 分隔,最外面用{}包围, 不同键值对之间用逗号,隔开 {‘key1’: 'value1', 'key2': 'value2', 'key3': 'value3'} 如果有一个Key对应着多个value的情况,用[]把对应的所有value包括起来。 {'key1': ['v11', 'v12', 'v13'], 'key2':'v22'} 复杂一点的还有这样的,不过其实原理都一样。 { "people":[ { "firstName": "Brett", "lastName":"McLaughlin" }, { "firstName":"Jason", "lastName":"Hunter" } ] }    json是什么呢? 是一种轻量级的数据交换格式。 完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,易于机器解析和生成,并有效地提升网络传输效率。

整型,布尔值,字符串详解,for语句

不打扰是莪最后的温柔 提交于 2019-11-28 19:09:05
整型 —— 数字 用于比较和计算 + - * / // python 2 int ——— long (长整型) /获取的是整数 Python3 int———整型 / 获取的浮点数 二进制 ——— 就是由 0 和 1 组成 十进制往二进制的转化是短除法 商 余数 15 1 7 1 ​ 3 1 ​ 1 1 那么 15 用二级制表示就是 1111(从下往上计算) 比如 21 是从下往上 10101 程序输出 print(bin()) 结果 0b10101 0b 代表二进制 bin 将十进制转化为二进制 二进制转化为十进制 111000(从右往左计算) : 0*2**0 + 0*2**1 + 0*2**2 +1*2**3 + 1*2**4 +1*2**5 = 8 + 16 + 32 = 56 print(int("10101",2)) 这个 2 的意思是将二进制转化为十进制 bool () 布尔值 print(bool( )) 数字非0的就是 True ,0 就是 False print(bool( )) 字符串不空的都是 True 啥也没有就用 False 字符串讲解 定义:在 python 中,引号引起来的就是字符串,字符串用来存储少量数据 索引(下标) name = "meet" #meet 每一个字母叫做一个元素 0123 #从左往右数 0123 -4-3-2-1 #从右往左数

python基础之基础数据类型1

泪湿孤枕 提交于 2019-11-28 16:10:18
int 整形 数字用于计算和比较 python3没有long,python2有整形和长整型 十进制二进制转换方法 bin(10进制) ==二进制 0b(二进制) int("二进制",2) == 十进制 在整形中不是 0 的数字就是布尔值就为真 在布尔值中,True 为1(int) Fslse 为 0 (int) 字符串中只要不是空就是Ture, 有一个空格也是Ture str(True),str(False) 得出的都是字符串 字符串 python中只要是引号引起来的就是字符串,‘ ’ 。“ ” 。“”“ “”“ 字符串主要用于数据存储,存储少量数据 字符串中每个字母或者字符都被称为元素 索引(下标) 从左向右,以零开始。寻找 : 字符串名[下标] (中括号[ ]类似于查找的意思) a[0] ==m a[1] ==e a[2] == e a[3] ==t - 从右向左,以-1开始。寻找 : 字符串名[下标]**(中括号[ ]类似于查找的意思)a = "meet" a[-1] ==t a[-2] ==e a-[3] == e a[-4] ==m - 索引的时候不能超出索引最大值(从零开始) 或最小值 (从右边-1开始) 切片 a[0:5],顾头不顾尾,,a [起始位置:不写(默认到最后位置)],,,a [不写():不写(默认到最后位置)] a[-5:-1],,,

字符串,列表,元组,字典的区别

亡梦爱人 提交于 2019-11-28 12:19:36
以前总觉得标题上那几类都差不多,今天刚刚学习完python基础知识,正好总结一下他们的区别: 字符串: 字符串不能修改字符序列,除了不能修改之外,还可以把字符串当成列表一样处理。 访问字符串种某个字符同访问元组和列表的元素是一样的 比如: [python] viewplain copy 1. mystr= "mystr" ,mystr[0]= "m" ,mystr[1]= "y" 这里不做深入讨论字符串,把字符串放在这里主要是为了说明字符串具备列表的一些特点。 列表: 列表的特点就是:可重复,类型可不同。类型不同也是跟数组最本质的区别了。python里的列表用“[]”表示。 列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素。 区别于元组,可动态增加,删除,更新。 可以和字符串作为比较。因为字符串具备列表的一些特点 元组: 元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。 元组一旦定义其长度和内容都是固定的。 一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。 若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串 字典: 字典存储键值对数据。 字典最外面用大括号,每一组用冒号连起来,然后各组用逗号隔开。 字典最大的价值是查询,通过键,查找值。