[转] 强大的python字符串解析

1.python字符串通常有单引号(‘...‘)、双引号("...")、三引号("""...""")或(‘‘‘...‘‘‘)包围,三引 号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号("""...""")中可以包含单引号,三引号 (‘‘‘...‘‘‘)可以包含双引号,而不需要转义。

2.用(\)对特殊字符转义,如(\)、(‘)、(")。

3.常用字符串内置函数

1)str.count()  //返回该字符串中某个子串出现的次数

2)str.find()   //返回某个子串出现在该字符串的起始位置

3)str.lower()  //将该字符串全部转化为小写

4)str.upper()  //转为大写

5)str.split()  //分割字符串,返回字串串列表,默认以空格分割

6)len(str)     //返回字符串长度

例如:

>>> str = ‘Hello, world‘

>>> str.count(‘o‘)

>>> 2

>>> str.find(‘lo‘)

>>> 3

>>> str.lower()

>>> ‘hello, world‘

>>> str.upper()

>>> ‘HELLO, WORLD‘

>>> str.split()

>>> [‘Hello,‘, ‘world‘]

>>> str.split(‘,‘)

>>> [‘Hello‘, ‘ world‘]

>>> len(str)

>>> 13

>>> str

>>> ‘Hello, world‘

以上所有操作都不会改变字符串本身!

4.正则表达式,re模块

import re

常用函数:

1)compile():   //将正则表达式字符串编译成正则re对象

2)search()     //在目标字符串中匹配正则表达式

3)match()      //从目标字符串第一个字符开始匹配正则表达

search和match匹配成功返回MatchObject对象,失败返回None

 >>> p = re.compile(‘abc‘)

>>> p.search(‘zabcy‘)

<_sre.SRE_Match object at 0x2a95659030>

不先编译成正则re对象也是可以的,上例也可以为:

>>> re.search(‘abc‘,‘xabcy‘)

<_sre.SRE_Match object at 0x2a95659098>

compile还可加些标志位,例如:re.I(re.IGNORECASE)忽略大小写

>>> p = re.compile(‘abc‘)

>>> print p.search(‘xAbCy‘)

None

>>> p = re.compile(‘abc‘,re.I)

>>> print p.search(‘xAbCy‘)

<_sre.SRE_Match object at 0x2a9565a098>

search和match区别见下例:

>>> p = re.compile(‘abc‘)

>>> print p.search(‘xxxabcyyy‘)
<_sre.SRE_Match object at
0x2a95659030>

>>>
print p.match(‘xxxabcyyy‘)

None

>>>
print p.match(‘abcyyy‘)

<_sre.SRE_Match object at
0x2a95659098>

4)split()     
//类似字符串内置函数split()

区别在于:内置split()以确定字符串分割,而正则split函数以正则表达式分割字


例如:以空格(1个或者多个空格)分割:

>>>
p.split(‘a
b   c  d‘)
[‘a‘, ‘b‘, ‘c‘, ‘d‘]

而内置split分割的结果为:

>>>
‘a b   c 
d‘.split(‘ ‘)
[‘a‘, ‘b‘, ‘‘, ‘‘, ‘c‘, ‘‘, ‘d‘]

5)findall()    
//返回目标字符串中匹配正则表达式中所有子串列表


>>>
p = re.compile(‘^([a-z]{2}):([1-9]{3}):(.+)$‘)
>>>
p.findall(‘as:123:a12‘)
[(‘as‘, ‘123‘, ‘a12‘)]

上例中正则表达式的子串为3个用括弧括起的,分别为:‘[a-z]{2}‘、‘[1-9]{3}‘、‘.+‘, 分别被as、123、a12匹配,注意此返回的是匹配字符串元组的一维列表。

以上比较常用的正则函数,更多用法请参照python手册。

5.字符串与数字相互转换,string模块

import string

string.atoi(str[,base]) 
//base为可选参数,表示将字符转换成的进制类型

数字转换成字符串可简单了,直接用str()

6.字符与ASCII转换

char->ascii 
ord()
  ascii->char 
chr()

时间: 2024-10-11 13:41:47

[转] 强大的python字符串解析的相关文章

Python字符串解析方法汇总

Python字符串方法解析 1.capitalize 将首字母大写,其余的变成小写 print('text'.capitalize()) print('tExt'.capitalize()) 结果: Text Text 2.center  将字符串居中  ljust(从左到右填充),rjust(从右到左填充) a='test' print(a.center(20,'_')) print(a.rjust(20,'_')) 结果: ________test________ _____________

python字符串编码

http://blog.csdn.net/pipisorry/article/details/44136297 文本,他们通常指显示在屏幕上的字符或者其他的记号:但是计算机不能直接处理这些字符和标记:它们只认识位(bit)和字节(byte).实际上,从屏幕上的每一块文本都是以某种字符编码(character encoding)的方式保存的.粗略地说就是,字符编码提供一种映射,使屏幕上显示的内容和内存.磁盘内存储的内容对应起来.有许多种不同的字符编码,有一些是为特定的语言,比如俄语.中文或者英语,

Python 字符串操作方法大全

python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去空格及特殊符号 s.strip().lstrip().rstrip(',') 2.复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 3.连接字符串 #strcat(sStr1,sStr2) sStr1 =

python字符串函数

#连接字符串 sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print(sStr1) #复制字符串sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print(sStr2) #比较字符串#strcmp(sStr1,sStr2)sStr1 = 'strchr'sStr2 = 'strch'print(sStr1 == sStr2)#注意cmp()在python3中移除了! #截取字符串#特别注意:下标从0开始:

【转】Python 字符串操作方法大全

python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下 1.去空格及特殊符号 复制代码代码如下: s.strip().lstrip().rstrip(',') 2.复制字符串 复制代码代码如下: #strcpy(sStr1,sStr2)sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print sStr2 3.连接字符串 复制代码代码如下: #st

(原创)Python字符串系列(1)——str对象

在本博客 <Python字符串系列> 中,将介绍以下内容: Python内置的str对象及操作 字符串的格式化 Python中的Unicode字符串 Python中的正则表达式 re模块 本文将介绍Python内置的 str 类型,列举Python中字符串对象支持的方法,使用这些方法可以实现强大的字符串处理功能. 在Python 2 中,普通字符串与Unicode字符串有着明确的区分,二者都是Python内置的基本类型,例如: >>> type(str) <type '

python字符串连接方式有哪些

在python开发中,会经常用到python字符串http://www.maiziedu.com/group/article/10646/,在python字符串操作中常用的无外乎就是替换.删除.截取.复制.连接.比较.查询.分割等等,今天小编不给大家讲那么多,就单独讲讲python字符串连接的方式有哪些,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 str2 % 连接字符串:'nam

[转载]python字符串格式化: %操作符 {}操作符

Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei

【美妙的Python之三】Python 对象解析

美妙的Python之Python对象 简而言之: Python 是能你无限惊喜的语言,与众不同.         Python对象概念的理解,是理解Python数据存储的前提.Python使用对象来存储数据,构造任何类型的值都是对象.         1.Python 对象:         Python的对象有3个属性:         标识:每个对象都有一个唯一的标识,通过  id(  )  可以查看对象的标识.         类型:对象的类型,指明该对象可以存储的数据类型,通过  typ