- 浏览: 231536 次
- 性别:
- 来自: 天朝帝都
文章分类
最新评论
-
hanmiao:
CSDN 博客地址是这個?http://blog.csdn.n ...
将博客搬至CSDN -
chenwq:
下载了,谢谢分享!
R语言学习入门 -
bbsunchen:
今天跟英姐聊天,她verbal考了151,不够啊,数学也不高。 ...
跟我一起考GRE(三) -
bbsunchen:
qinger说得对我今年只做三件事情:考好GRE,考好TOEF ...
IT行业成功必备的素质 -
bbsunchen:
还有8天就考试了,哥还在过单词啊
跟我一起考GRE(三)
在python有各种各样的string操作函数。在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import。同时为了保持向后兼容,现在的 python中仍然保留了一个string的module,其中定义的方法与S.method()是相同的,这些方法都最后都指向了用S.method ()调用的函数。要注意,S.method()能调用的方法比string的module中的多,比如isdigit()、istitle()等就只能用 S.method()的方式调用。
对一个字符串对象,首先想到的操作可能就是计算它有多少个字符组成,很容易想到用S.len(),但这是错的,应该是len(S)。因为len()是内置函数,包括在__builtin__模块中。python不把len()包含在string类型中,乍看起来好像有点不可理解,其实一切有其合理的逻辑在里头。len()不仅可以计算字符串中的字符数,还可以计算list的成员数,tuple的成员数等等,因此单单把len()算在string里是不合适,因此一是可以把len()作为通用函数,用重载实现对不同类型的操作,还有就是可以在每种有len()运算的类型中都要包含一个len()函数。 python选择的是第一种解决办法。类似的还有str(arg)函数,它把arg用string类型表示出来。
字符串中字符大小写的变换:
S.lower() #小写
S.upper() #大写
S.swapcase() #大小写互换
S.capitalize() #首字母大写
String.capwords(S)
#这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起
S.title() #只有首字母大写,其余为小写,模块中没有这个方法
字符串在输出时的对齐:
S.ljust(width,[fillchar])
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
S.rjust(width,[fillchar]) #右对齐
S.center(width, [fillchar]) #中间对齐
S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足
字符串中的搜索和替换:
S.find(substr, [start, [end]])
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
S.index(substr, [start, [end]])
#与find()相同,只是在S中没有substr时,会返回一个运行时错误
S.rfind(substr, [start, [end]])
#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号
S.rindex(substr, [start, [end]])
S.count(substr, [start, [end]]) #计算substr在S中出现的次数
S.replace(oldstr, newstr, [count])
#把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换
S.strip([chars])
#把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None
S.lstrip([chars])
S.rstrip([chars])
S.expandtabs([tabsize])
#把S中的tab字符替换没空格,每个tab替换为tabsize个空格,默认是8个
字符串的分割和组合:
S.split([sep, [maxsplit]])
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
S.rsplit([sep, [maxsplit]])
S.splitlines([keepends])
#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.join(seq) #把seq代表的序列──字符串序列,用S连接起来
字符串的mapping,这一功能包含两个函数:
String.maketrans(from, to)
#返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。
S.translate(table[,deletechars])
# 使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数,可以使用把某个字符翻译为None的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。
字符串还有一对编码和解码的函数:
S.encode([encoding,[errors]])
# 其中encoding可以有多种值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。errors默认值为"strict",意思是UnicodeError。可能的值还有'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 和所有的通过codecs.register_error注册的值。这一部分内容涉及codecs模块,不是特明白
S.decode([encoding,[errors]])
字符串的测试函数,这一类函数在string模块中没有,这些函数返回的都是bool值:
S.startwith(prefix[,start[,end]])
#是否以prefix开头
S.endwith(suffix[,start[,end]])
#以suffix结尾
S.isalnum()
#是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的
字符串类型转换函数,这几个函数只在string模块中有:
string.atoi(s[,base])
#base默认为10,如果为0,那么s就可以是012或0x23这种形式的字符串,如果是16那么s就只能是0x23或0X12这种形式的字符串
string.atol(s[,base]) #转成long
string.atof(s[,base]) #转成float
这里再强调一次,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。其实这也是有变通的办法的,可以用S=list(S)这个函数把S变为由单个字符为成员的list,这样的话就可以使用S[3]='a'的方式改变值,然后再使用S=" ".join(S)还原成字符串
评论
•^ 匹配字符串的开始。
•$ 匹配字符串的结尾。
•\b 匹配一个单词的边界。
•\d 匹配任意数字。
•\D 匹配任意非数字字符。
•x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。
•x* 匹配0次或者多次 x 字符。
•x+ 匹配1次或者多次 x 字符。
•x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
•(a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。
•(x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。
发表评论
-
USACO Mother's Milk(milk3)题解
2014-12-05 11:31 1026每种状态下,只有六种移动的情况:A->B, A-> ... -
USACO Ski Course Design(skidesign) 题解
2014-11-27 00:44 2324这一题被我想复杂了,我自己加了一个约束条件,可是题目中并没有 ... -
USACO Wormholes(wormhole) 题解
2014-11-25 05:13 2092这里再次强烈推荐USACO,因为他们每一题的题解现在有视频了 ... -
USACO Combination Lock (combo)题解
2014-11-05 23:41 1047有人说这一题暴力搜索,O(N^3),naive,哥只要O( ... -
用标准库或者boost分割C++字符串
2014-09-30 04:41 1181使用标准库 #include <iostream& ... -
Qt 使用Dom 操作XML的范例
2013-05-09 13:41 1847//--------------------读------- ... -
USACO Prime Cryptarithm 题解
2013-05-08 15:53 1462此题很水,暴力搜索,然后根据条件判断,continue掉一些 ... -
USACO Calf Flac题解
2013-05-06 17:21 1136这一题有点烦 我一开始的思路是,回文序列么,就是正序字符串 ... -
USACO Barn Repair 题解
2013-04-26 19:22 1284题目翻译还是看USACO吧, 这题贪心,贪心都是很水的,还 ... -
USACO Mixing Milk 题解
2013-04-26 11:05 1409题目大意: 描述 由于乳制品产业利润很低, ... -
稍微说说动态规划和贪心
2013-04-25 10:16 948最近在做USACO的training,又碰到了gre ... -
USACO Dual Palindromes 题解
2013-04-23 14:41 1076一天水了两题,呵呵,题目确实挺水的 做完上一题,这一题已经 ... -
USACO Palindromic Squares 源码
2013-04-23 14:02 925这题很容易的,依然是暴力搜索,好吧,这一章都叫complet ... -
USACO Name That Number源码
2013-04-08 15:26 940这次一直没过的是,C++的char转int, 要用这一句 ... -
USACO Transformation源码
2013-04-03 20:59 724/* ID: bbsunch2 PROG: trans ... -
USACO MilkingCow源码
2013-04-03 20:57 844/* ID: bbsunch2 PROG: milk2 ... -
PyDev,在Eclipse中运行python
2012-04-20 10:38 2400最近学python做高精度运算。 虽然网上有很多高精度运算的 ... -
开源,选择Google Code还是Sourceforge?
2012-01-04 11:35 6269从第一个项目canto ... -
QT中文字的绘制
2011-12-06 16:11 3155为什么要做这次文字的介绍,因为在一般的教材中,还真没有文字的描 ... -
QT 2D绘图的坐标系统与图形显示
2011-12-06 16:09 5242这篇文章中,给出Qt坐标系统的详细介绍,在附件中,给出使用Qt ...
相关推荐
Python内置的字符串处理函Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。
Python字符串处理是编程中常见的任务,它涉及到对文本数据的操作,包括查找、连接、替换和分割等。在Python中,有多种内置函数可以帮助我们高效地完成这些任务。下面我们将详细探讨`find`、`join`、`replace`以及`...
Python字符串操作常用函数,包含了检索、统计、分割、替换、大小写转换、对齐,空格删除、字符串判断(头尾+组成)
以上就是Python字符串处理函数的简明总结。Python通过这些内置的方法提供了强大的文本处理功能,极大地简化了对字符串的操作。熟练掌握并灵活运用这些字符串处理方法,对于提高编程效率和处理文本数据具有重要意义。...
C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...
三、replace:返回某字符串的所有匹配项均被替换之后得到的字符串。 复制代码 代码如下:‘This is a test’.replace(‘is’,’are’) 四、split:将字符串分割成序列 复制代码 代码如下:‘1+2+3+4+5’.split(‘+’) ...
python字符串查找函数的使用 打开Python开发工具IDLE,新建‘findstr.py’文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) 注意find是匹配子字符串,而不是匹配第一个字符 F5运行程序,打印出-1,代表...
Python 中可以使用 LevenshteinDistance 函数来计算两个字符串之间的编辑距离。 FuzzyWuzzy 是一个 Python 库,用于字符串模糊匹配。它提供了多种字符串相似度计算方法,包括 ratio、partial_ratio、token_sort_...
Python 字符串处理实例 Python 中的字符串处理是 Python 编程语言中非常重要的一部分。字符串是 Python 中最基本的数据类型之一,它可以表示文本、数字、符号等。 Python 提供了多种字符串处理方法,本文将对 ...
Python 字符串处理及相关函数 Python 中的字符串处理是编程中非常重要的一部分,Python 提供了多种字符串处理函数,包括 capitalize()、upper()、lower()、title() 等,以下是对这些函数的详细介绍: 1. ...
"Python 字符串、内建函数" Python 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!'var2 = "Python Runoob" ...
Python字符串常用函数 Python字符串是Python编程语言中最基本也是最重要的一种数据类型。字符串常用函数是指那些可以对字符串进行操作和处理的函数。在Python中,字符串常用函数包括replace、capitalize、split、...
标题“字符串处理函数(9KB)”暗示我们将探讨一系列用于操作和管理字符串的函数,这些函数可能包含在某个编程语言的库或者特定的工具包中。描述中的“9KB”可能是指相关代码或资源的大小,这通常表示这是一个相对较小...
PYTHON常用字符串处理函数 在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0...
在给定的文件内容中,我们可以看到有关Python字符串操作的知识点。这些操作涉及到C语言风格的字符串函数模拟,但它们实际上并不是Python原生的字符串操作方法。Python语言本身就拥有强大的字符串处理能力,不过,...
python join函数 在Python中,join()函数用于将字符串列表或可迭代对象中的元素连接起来形成一个新的字符串。
Python
3. **内置字符串函数**: - `chr()` 函数接收一个整数(通常是ASCII或Unicode编码),并返回对应的字符。例如: ```python print(chr(97)) # 输出 'a' print(chr(8364)) # 输出 '€' ``` - `ord()` 函数接收一...
Python字符串是编程中常用的数据类型,它用于存储和处理文本信息。在Python中,字符串提供了丰富的内置函数,方便我们进行各种操作。以下是一些重要的字符串函数及其用途: 1. `replace(string, old, new[, ...