`
hugh.wangp
  • 浏览: 292694 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

PYTHON-字符串处理函数

阅读更多

在互联网行业,文本数据远大于结构化的数据,海量的数据的文本处理也是迫在眉睫。

 

 

字符串的字符操作
>>> s='hello World! Everyone! This Is My First String!'
>>> s   #打印出s的内容
'hello World! Everyone! This Is My First String!'
>>> s.lower()  #小写字符串s
'hello world! everyone! this is my first string!'
>>> s.upper()  #大写字符串s
'HELLO WORLD! EVERYONE! THIS IS MY FIRST STRING!'
>>> s.swapcase() #大小写互换
'HELLO wORLD! eVERYONE! tHIS iS mY fIRST sTRING!'
>>> s.capitalize() #整个字符串的首字符大写
'Hello world! everyone! this is my first string!'
>>> s.title()  #字符串每个单词的首字符大写(以空格、tab制表符、换行符隔开的单词)
'Hello World! Everyone! This Is My First String!'

 

字符串的格式操作
>>> s
'a'
>>> s.ljust(10,'*') #s.ljust(width,[fillchar])左对齐输出10个字符,不足部分用'*'补足,默认用空格补足
'a*********'
>>> s.rjust(10,'*') #s.rjust(width,[fillchar])右对齐输出10个字符,不足部分用'*'补足,默认用空格补足
'*********a'
>>> s.center(10,'*') #s.center(width,[fillchar])中间对齐,把s放在10个字符中间,不足部分两边用'*'补足
'****a*****'
>>> s.zfill(10) #s.zfill(width)右对齐输出10个字符,不足部分只能用'0'补足,功能同s.rjust(10,'0')
'000000000a'

 

字符串中的搜索和替换
 >>> s
 'hello World! Everyone! This Is My First String!'
 >>> s.find('e',4,20)
 15
 >>> s.find('e',4)
 15
 >>> s.find('e')
 1
 >>> s.find('e',4,3)
 -1
 >>> s.find('z')
 -1
#s.find(substr, [start, [end]])
#从字符串s的[start:end]的子串中查找substr,第一次匹配到substr并返回substr第一个字符的位置
#这里的substr也是个字符串,并且是大小写敏感。默认从字符串首到串尾的范围内查找,s中没有substr的话返回-1
#如果end<start,返回-1


 >>> s.index('e',4,20)
 15
 >>> s.index('e',4)
 15
 >>> s.index('e')
 1
 >>> s.index('e',4,3)
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 ValueError: substring not found
#s.index(substr, [start, [end]])
#功能与find()相同,唯一不同的是s中没有substr时不是返回-1而是返回一个运行错误


 >>> s.rfind('e',4,20)
 15
 >>> s.rfind('e',4)
 20
 >>> s.rfind('e')
 20
#s.rfind(substr, [start, [end]])
#和find()的区别是最后一次匹配到substr并返回substr第一个字符的位置
#s.rindex(substr, [start, [end]])
#和index()的区别之于rfind()和find()的区别

 

 >>> s.count('e',4,20)
 1
 >>> s.count('e',4)
 2
 >>> s.count('e')
 3
 >>> s.count('z')
 0
#s.count(substr, [start, [end]])
#计算substr在s的[start:end]的范围内出现的次数。没有出现返回0

 

 >>> s.replace('r','R')
 'hello WoRld! EveRyone! This Is My FiRst StRing!'
 >>> s.replace('r','R',1)
 'hello WoRld! Everyone! This Is My First String!'
 >>> s.replace('z','Z')
 'hello World! Everyone! This Is My First String!'
#s.replace(oldstr, newstr, [count])
#把oldstr替换为newstr, count为替换次数,没有设置count这个参数,那就是全部替换
#如果oldstr没有在s中出现,返回s的原值


 >>> s               
 '   hello/t/n'      
 >>> s.expandtabs(2) 
 '   hello  /n'      
 >>>                 
 >>> s='   hello/t/n'
 >>> s               
 '   hello/t/n'      
 >>> s.strip()       
 'hello'             
 >>> s.lstrip()      
 'hello/t/n'         
 >>> s.rstrip()      
 '   hello'    
 >>> s.expandtabs()  
 '   hello        /n'
 >>> s.expandtabs(0)
 '   hello/n' 
 >>> s='hello/t/n' 
 >>> s
 'hello/t/n'
 >>> s.strip('h')
 'ello/t/n'   
#s.strip([chars]) 
#s.lstrip([chars]) 
#s.rstrip([chars]) 
#s.expandtabs([tabsize])
#strip()是把s前后的chars全部去掉,相当于把chars替换成None。参数默认为空格、Tab制表符/t、换行符/n
#lstrip()和strip()的区别是它只处理s串头的chars
#rstrip()和strip()的区别是它只处理s串尾的chars
#expandtabs()把tab制表符替换成tabsize个空格

 

字符串的分割和组合
 >>> s
 'hello World! Everyone! This Is My First String!'
 >>> s.split()
 ['hello', 'World!', 'Everyone!', 'This', 'Is', 'My', 'First', 'String!']
 >>> s.split(' ',4)
 ['hello', 'World!', 'Everyone!', 'This', 'Is My First String!']
 >>> s.split('e')
 ['h', 'llo World! Ev', 'ryon', '! This Is My First String!']
 >>> s.rsplit()
 ['hello', 'World!', 'Everyone!', 'This', 'Is', 'My', 'First', 'String!']
 >>> s.rsplit(' ',4)
 ['hello World! Everyone! This', 'Is', 'My', 'First', 'String!']
 >>> s.rsplit('e')
 ['h', 'llo World! Ev', 'ryon', '! This Is My First String!']
#s.split([sep, [maxsplit]]) 以sep是分隔符,把s分割成一个list。sep默认为空格。maxsplit是分割的次数,默认是对整个s进行分割
#s.rsplit([sep, [maxsplit]])  和split()的区别是它是从s的串尾往前进行分割


 >>> s=s.replace(' ','/n')
 >>> s
 'hello/nWorld!/nEveryone!/nThis/nIs/nMy/nFirst/nString!'
 >>> s.splitlines()
 ['hello', 'World!', 'Everyone!', 'This', 'Is', 'My', 'First', 'String!']
 >>> s.splitlines(True)
 ['hello/n', 'World!/n', 'Everyone!/n', 'This/n', 'Is/n', 'My/n', 'First/n', 'String!']
 >>> s.splitlines(False)
 ['hello', 'World!', 'Everyone!', 'This', 'Is', 'My', 'First', 'String!']
 >>> '/t'.join(s.splitlines())
 'hello/tWorld!/tEveryone!/tThis/tIs/tMy/tFirst/tString!'
#s.splitlines([keepends]) 把s按照行分隔符分成一个list。如果keepends为True则list的每个元素保留行分割符,如果为False则不保留分隔符
#s.join(seq)   用s把seq序列串联起来

 

字符串的测试函数,这一类函数在string模块中没有,这些函数返回的都是bool值
 >>> s
 'hello/nWorld!/nEveryone!/nThis/nIs/nMy/nFirst/nString!'
 >>> s.startswith('hello')
 True
 >>> s.startswith('W',6)
 True
 >>> s.endswith('!')
 True
 >>> s.endswith('g!')
 True
 >>> s.endswith('r',0,s.rindex('r')+1)
 True
#s.startwith(prefix[,start[,end]]) s是否在[start:end]内以prefix开头,是返回True,否返回False
#s.endswith(suffix[, start[, end]]) s是否在[start:end]内以suffix结尾,是返回True,否返回False

 >>> s='hello world123'
 >>> s.isalnum(), s.replace(' ','').isalnum() 
 (False, True)
#是否全是字母和数字,并至少有一个字符 
 >>> s.isalpha(),s.replace(' ','').replace('123','').isalpha()
 (False, True)
#是否全是字母,并至少有一个字符
 >>> s.isdigit(),s.replace('hello world','').isdigit()
 (False, True)
#是否全是数字,并至少有一个字符
 >>> s.isspace(),s.replace('hello','').replace('world123','').isspace()
 (False, True)
#是否全是空白字符,并至少有一个字符
 >>> s.islower(),s.upper().islower(),s.isupper(),s.upper().isupper()
 (True, False, False, True)
#s中的字母是否全是小写(islower())/大写(isupper())
 >>> s.istitle(), s.capitalize().istitle(), s.title().istitle()
 (False, False, True)
#s中的单词是否全部是首字母大写的

参考http://bbsunchen.javaeye.com/blog/552013 的介绍,自己做了一些小实验。分享如下,大家一起学习。

分享到:
评论

相关推荐

    Python内置的字符串处理函数

    Python内置的字符串处理函Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。

    zkeq#Coding#Python-字符串的replace函数1

    title: Python 字符串的replace函数字符串的replace函数功能将字符串中的old(旧元素)替换成new(新元素),并能指定替换的数量用法n

    zkeq#Coding#Python-字符串的strip函数1

    title: Python 字符串的strip函数字符串的strip函数功能string将去掉字符串左右两边的指定元素,默认是空格用法参数括弧里需要传一个你想去

    Python应用开发-字符串函数.pptx

    Python应用开发中,字符串函数是非常重要的一部分,字符串函数可以帮助开发者更方便地处理字符串数据。本节内容主要介绍了字符串函数的使用,包括字符串的子串切片、字符串转大小写函数、字符串查找函数和字符串判断...

    python-字符串反转方法.docx

    在处理字符串时,Python提供了多种操作,其中就包括字符串反转。在本文中,我们将深入探讨Python中用于反转字符串的两种主要方法:使用切片操作和利用`reversed()`函数。 首先,让我们了解Python中的字符串。字符串...

    python常见字符串处理函数与用法汇总

    Python字符串处理是编程中常见的任务,它涉及到对文本数据的操作,包括查找、连接、替换和分割等。在Python中,有多种内置函数可以帮助我们高效地完成这些任务。下面我们将详细探讨`find`、`join`、`replace`以及`...

    03-python-数组属性方法总结-数组与字符串的转换-生成数组的函数-矩阵

    在本篇Python学习笔记中,我们将深入探讨四个关键主题:数组的属性和方法、数组与字符串之间的转换、生成数组的函数以及矩阵的概念与操作。 首先,让我们来看看【数组属性方法总结】。在Python中,最常用的数组库是...

    PYTHON常用字符串处理函数.txt

    PYTHON常用字符串处理函数 在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0...

    测量程序编制 - python 15数据类型:String(字符串)-字符串常用函数.pptx

    除了上述函数,Python字符串还有许多其他操作,如`replace()`替换子字符串,`lower()`和`upper()`分别将字符串转换为小写和大写,`strip()`去除两侧的空白,以及`format()`格式化字符串等。了解并熟练掌握这些字符串...

    Python字符串操作常用函数

    Python字符串操作常用函数,包含了检索、统计、分割、替换、大小写转换、对齐,空格删除、字符串判断(头尾+组成)

    python实现字符串模糊匹配

    Python 中可以使用 LevenshteinDistance 函数来计算两个字符串之间的编辑距离。 FuzzyWuzzy 是一个 Python 库,用于字符串模糊匹配。它提供了多种字符串相似度计算方法,包括 ratio、partial_ratio、token_sort_...

    PYTHON常用字符串处理函数.doc

    Python

    zkeq#Coding#Python-字符串的startswith和endswith函数1

    title: Python 字符串的startswith和endswith函数字符串的startswith和endswith函数功能startswith判断字符

    zkeq#Coding#Python-字符串中返回bool类型的函数集合1

    功能:判断字符串是否是一个标题类型用法注意:该函数只能用于英文isupper与islower功能:isupper判断字符串中的字母是否都是大写islower判断

    python-Levenshtein-0.12.2.tar.gz

    总之,`python-Levenshtein`库为Python开发者提供了一种强大的工具,帮助他们有效地处理字符串相似度的问题。无论是简单的文本匹配还是复杂的文本分析任务,这个库都能提供有力的支持。通过熟练掌握并运用这个库,...

    C语言字符串转换为Python字符串的方法

    C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...

    py-字符串函数.docx

    Python字符串函数是编程中不可或缺的一部分,它们为程序员提供了丰富的功能,可以方便地处理和操作文本数据。以下是一些主要的Python字符串函数的详细介绍: 1. **len()函数**:此函数用于计算字符串的长度,即返回...

    浅析python 内置字符串处理函数的使用方法

    三、replace:返回某字符串的所有匹配项均被替换之后得到的字符串。 复制代码 代码如下:‘This is a test’.replace(‘is’,’are’) 四、split:将字符串分割成序列 复制代码 代码如下:‘1+2+3+4+5’.split(‘+’) ...

    py-字符串函数(1).docx

    以下是一些常见的Python字符串函数的详细介绍: 1. **len()函数**:这个函数用于获取字符串的长度,即字符串中字符的数量。例如,`len("Hello World")`将返回11,因为该字符串由11个字符组成。 2. **str()函数**:...

Global site tag (gtag.js) - Google Analytics