【Python】常用的字符串函数

简介:

##python中有很多字符串函数,将经常使用的列出如下:
>>> import string
>>> s1='YANGQL'
>>> s2='yangql'
>>> s3='yangql is learning python string'
##将字符串转换为小写
>>> s1.lower() 
'yangql'
##将字符串转换为大写
>>> s2.upper()
'YANGQL'
##大小写互换
>>> s2.swapcase()
'YANGQL'
>>> s7='YangQL'
>>> s7.swapcase()
'yANGql'
>>> s1.swapcase()
'yangql'
##将首字符大写
>>> s1.capitalize()
'Yangql'
##将字符串中所有字符串首字母大写
>>> s3.title()
'Yangql Is Learning Python String'
s.ljust(width,[fillchar]) 
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
>>> s2.ljust(10,'#')
'yangql####'
##与s.rjust()相反
>>> s2.rjust(10,'#')
'####yangql'
##使输出在中间,两边填充指定字符串
>>> s2.center(10,'#')    
'##yangql##'
>>> s2.center(11,'#')
'###yangql##'
##s.zfill(width) 把s变成width长,并在右对齐,不足部分用0补足 
>>> s2.zfill(10)
'0000yangql'
#s.find(substr, [start, [end]]) 
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
>>> s3.find('is')
7
>>> s3.find('is',2,8)
-1
>>> s3.find('is',2,10)
7
>>> s3.find('python')
19
##s.rfind(substr, [start, [end]]) 
#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号 
>>> s3.rfind('python')
19
#s.count(substr, [start, [end]]) 计算substr在S中出现的次数 
>>> s3.count('i')
3
###把s中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None 
>>> s3.lstrip('yang')
'ql is learning python string'
>>> s3.rstrip('string') 
'yangql is learning python '
>>> s8='   aliyun-inc.com   '
>>> print s8
   aliyun-inc.com   
>>> 
>>> s8.strip()
'aliyun-inc.com'
#s.replace(oldstr, newstr, [count]) 
#把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换 
>>> s3.replace('is','IS')
'yangql IS learning python string'
>>> 
#s.split([sep, [maxsplit]]) 
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。
>>> s3.split('i')
['yangql ', 's learn', 'ng python str', 'ng']
##rsplit()从前面查询分割点,split()从字符串后面查询。
>>> s3.rsplit('i',2)
['yangql is learn', 'ng python str', 'ng']
>>> s3.rsplit('i',3)
['yangql ', 's learn', 'ng python str', 'ng']
>>> s3.split('i',3) 
['yangql ', 's learn', 'ng python str', 'ng']
>>> s3.split('i',2)
['yangql ', 's learn', 'ng python string']
>>> s3.split() ## 默认的分割符为空白字符    
['yangql', 'is', 'learning', 'python', 'string']
>>> s3.rsplit('i',2)
['yangql is learn', 'ng python str', 'ng']
>>> s3.rsplit('i',1)
['yangql is learning python str', 'ng']
>>> s3.split('i',1) 
['yangql ', 's learning python string']
>>> 
>>> s3.join(s2[1])
'a'
#s4.join(s2)函数将s2分开,并每个字母接上s4的字符
>>> s4='python '
>>> s4.join('s')         
's'
>>> s4.join('us')
'upythons'
>>> s4.join(s2)
'ypython apython npython gpython qpython l'
>>> s4.join(s2[0])
'y'
##将unicode转换为utf-8类型的字符串
>>> s4=u'python '
>>> type(s4)
<type 'unicode'>
>>> s5=s4.encode('utf-8')
>>> type(s5)
<type 'str'>
>>> type(s4.encode('utf-8'))
<type 'str'>
>>> 
>>> 
>>> s6='123456'
>>> s7='ss124'
>>> s2.isalnum()
True
>>> s2.isalpha()
True
>>> s2
'yangql'
>>> s2.isdigit()
False

s.isalnum() 
#是否全是字母和数字,并至少有一个字符 
s.isalpha() #是否全是字母,并至少有一个字符 
s6='123456'
>>> s1.isalpha()
True
>>> s6.isalpha()
False
>>> 
s.isdigit() #是否全是数字,并至少有一个字符 
>>> s6.isdigit()
True
#s.isspace() 是否全是空白字符,并至少有一个字符 
>>> s6.isspace()
False
#s.islower() S中的字母是否全是小写 
>>> s6.islower()
False
>>> s2.islower()
True
#s.isupper() S中的字母是否便是大写 
>>> s2.isupper()
False
>>> s1.isupper()
True
>>> 
s.istitle() #S是否是首字母大写的 
>>> 
>>> s2.istitle()
False
##转换字符串为数据
>>> string.atof(s6)
123456.0
>>> string.atoi(s6)
123456
>>> string.atol(s6)
123456L
>>>

相关文章
|
1天前
|
Python
Python避免在字符串和字节之间混淆
【5月更文挑战第5天】Python避免在字符串和字节之间混淆
12 3
|
2天前
|
数据安全/隐私保护 开发者 Python
【Python 基础】检查字符串是否只包含数字和字母?
【5月更文挑战第8天】【Python 基础】检查字符串是否只包含数字和字母?
|
2天前
|
Python
【Python 基础】如何将一个字符串转化为全大写和全小写?
【5月更文挑战第8天】【Python 基础】如何将一个字符串转化为全大写和全小写?
|
3天前
|
机器学习/深度学习 存储 人工智能
python 字符串的三种定义方式
python 字符串的三种定义方式
8 1
|
4天前
|
Python Perl
Python中的字符串分析:判断字符串中是否包含字母
Python中的字符串分析:判断字符串中是否包含字母
10 0
|
4天前
|
C语言 Python
【Python 基础】如何进行字符串插值?
【5月更文挑战第6天】【Python 基础】如何进行字符串插值?
|
5天前
|
存储 监控 Python
python 日期字符串转换为指定格式的日期
python 日期字符串转换为指定格式的日期
14 3
|
5天前
|
数据处理 Python
Python中按指定数量分割列表字符串的方法
Python中按指定数量分割列表字符串的方法
9 1
|
11天前
|
存储 算法 Python
【亮剑】探讨了Python中查找两个字符串差异位置的方法
【4月更文挑战第30天】本文探讨了Python中查找两个字符串差异位置的方法。首先,通过内置函数和基本字符串操作,可以逐个字符比较找到第一个不同位置。其次,利用`difflib`库的`SequenceMatcher`能获取更详细的差异信息。最后,通过实现Levenshtein距离算法,可以计算字符串间的最小编辑距离。根据需求选择合适的方法,能提升代码效率和可读性。
|
12天前
|
编解码 JavaScript 前端开发
【专栏】介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例
【4月更文挑战第29天】本文介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例。Base64编码将24位二进制数据转换为32位可打印字符,用“=”作填充。文中展示了各语言的编码解码代码,帮助开发者理解并应用于实际项目。