python字符串的方法
Ⅰ python字符串匹配6种方法的使用
1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
import re
line="this hdr-biz 123 model server 456"
pattern=r"123"
matchObj = re.match( pattern, line)
2. re.search 扫描整个字符串并返回第一个成功的匹配。
import re
line="this hdr-biz model server"
pattern=r"hdr-biz"
m = re.search(pattern, line)
3. Python 的re模块提供了re.sub用于替换字符串中的匹配项。
import re
line="this hdr-biz model args= server"
patt=r'args='
name = re.sub(patt, "", line)
4. compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
import re
pattern = re.compile(r'd+')
5. re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
import re
line="this hdr-biz model args= server"
patt=r'server'
pattern = re.compile(patt)
result = pattern.findall(line)
6. re.finditer 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
import re
it = re.finditer(r"d+","12a32bc43jf3")
for match in it:
print (match.group() )
关于Python字符串匹配6种方法的使用,青藤小编就和您分享到这里了。如果您对python编程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于python编程的技巧及素材等内容,可以点击本站的其他文章进行学习。
以上是小编为大家分享的关于Python字符串匹配6种方法的使用的相关内容,更多信息可以关注环球青藤分享更多干货
Ⅱ Python中几种操作字符串的方法的介绍
字符串是immutable的,list是mutable的
也就是说字符串一旦定义不可改变,list则可以。
eg.
s = "abc"d = ['a','b','c']d.append('e')
而
1
new_s = s + 'e'
而且,
immutable意味着可以作字典的key,而mutable则不可。
此外两种东西的方法不同。
Ⅲ 享学课堂盘点python字符串是什么及简单操作方法
python 字符串str是在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 = 'strcat'
sStr2 = 'append'
sStr1 += sStr2
print sStr1
4、查找字符
复制代码代码如下:
#strchr(sStr1,sStr2)
# < 0 为未找到
sStr1 = 'strchr'
sStr2 = 's'
nPos = sStr1.index(sStr2)
print nPos
5、比较字符串
复制代码代码如下:
#strcmp(sStr1,sStr2)
sStr1 = 'strchr'
sStr2 = 'strch'
print cmp(sStr1,sStr2)
6、扫描字符串是否包含指定的字符
复制代码代码如下:
#strspn(sStr1,sStr2)
sStr1 = '12345678'
sStr2 = '456'
#sStr1 and chars both in sStr1 and sStr2
print len(sStr1 and sStr2)
7、字符串长度
复制代码代码如下:
#strlen(sStr1)
sStr1 = 'strlen'
print len(sStr1)
8、将字符串中的大小写转换
复制代码代码如下:
S.lower() #小写
S.upper() #大写
S.swapcase() #大小写互换
S.capitalize() #首字母大写
String.capwords(S) #这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起
#实例:
#strlwr(sStr1)
sStr1 = 'JCstrlwr'
sStr1 = sStr1.upper()
#sStr1 = sStr1.lower()
print sStr1
9、追加指定长度的字符串
复制代码代码如下:
#strncat(sStr1,sStr2,n)
sStr1 = '12345'
sStr2 = 'abcdef'
n = 3
sStr1 += sStr2[0:n]
print sStr1
10、字符串指定长度比较
复制代码代码如下:
#strncmp(sStr1,sStr2,n)
sStr1 = '12345'
sStr2 = '123bc'
n = 3
print cmp(sStr1[0:n],sStr2[0:n])
11、复制指定长度的字符
复制代码代码如下:
#strncpy(sStr1,sStr2,n)
sStr1 = ''
sStr2 = '12345'
n = 3
sStr1 = sStr2[0:n]
print sStr1
12、将字符串前n个字符替换为指定的字符
复制代码代码如下:
#strnset(sStr1,ch,n)
sStr1 = '12345'
ch = 'r'
n = 3
sStr1 = n * ch + sStr1[3:]
print sStr1
13、扫描字符串
复制代码代码如下:
#strpbrk(sStr1,sStr2)
sStr1 = 'cekjgdklab'
sStr2 = 'gka'
nPos = -1
for c in sStr1:
if c in sStr2:
nPos = sStr1.index(c)
break
print nPos
14、翻转字符串
复制代码代码如下:
#strrev(sStr1)
sStr1 = 'abcdefg'
sStr1 = sStr1[::-1]
print sStr1
15、查找字符串
复制代码代码如下:
#strstr(sStr1,sStr2)
sStr1 = 'abcdefg'
sStr2 = 'cde'
print sStr1.find(sStr2)
16、分割字符串
复制代码代码如下:
#strtok(sStr1,sStr2)
sStr1 = 'ab,cde,fgh,ijk'
sStr2 = ','
sStr1 = sStr1[sStr1.find(sStr2) + 1:]
print sStr1
#或者
s = 'ab,cde,fgh,ijk'
print(s.split(','))
17、连接字符串
复制代码代码如下:
delimiter = ','
mylist = ['Brazil', 'Russia', 'India', 'China']
print delimiter.join(mylist)
18、PHP 中 addslashes 的实现
复制代码代码如下:
def addslashes(s):
d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"}
return ''.join(d.get(c, c) for c in s)
s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"
print s
print addslashes(s)
19、只显示字母与数字
复制代码代码如下:
def OnlyCharNum(s,oth=''):
s2 = s.lower();
fomart = ''
for c in s2:
if not c in fomart:
s = s.replace(c,'');
return s;
print(OnlyStr("a000 aa-b"))
20、截取字符串
复制代码代码如下:
str = '0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白?
21、字符串在输出时的对齐
复制代码代码如下:
S.ljust(width,[fillchar])
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
S.rjust(width,[fillchar]) #右对齐
S.center(width, [fillchar]) #中间对齐
S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足
22、字符串中的搜索和替换
复制代码代码如下:
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个
23、字符串的分割和组合
复制代码代码如下:
S.split([sep, [maxsplit]])
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
S.rsplit([sep, [maxsplit]])
S.splitlines([keepends])
#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.join(seq) #把seq代表的序列──字符串序列,用S连接起来
24、字符串的mapping,这一功能包含两个函数
复制代码代码如下:
String.maketrans(from, to)
#返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。
S.translate(table[,deletechars])
# 使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数,可以使用把某个字符翻译为None的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。
25、字符串还有一对编码和解码的函数
复制代码代码如下:
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]])
26、字符串的测试、判断函数,这一类函数在string模块中没有,这些函数返回的都是bool值
复制代码代码如下:
S.startswith(prefix[,start[,end]])
#是否以prefix开头
S.endswith(suffix[,start[,end]])
#以suffix结尾
S.isalnum()
#是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的
27、字符串类型转换函数,这几个函数只在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)还原成字符串
Ⅳ Python中字符串常用操作有哪些
字符串是 Python
中常用的数据类型,我们可以使用引号('或")来创建字符串,对字符串进行使用和操作,需要用到特定的函数,以下是常用的Python字符串操作方法:
1. capitalize()
作用:capitalize() 主要是用来实现字符串首字母大写,其他字母小写的功能。
实例:
1
2str1 = "oldboy"
print(str1.capitalize())
输出结果:Oldboy
2. swapcase()
作用:swapcase() 主要是用来实现字符串大小写反转。
实例:
1
2str1 = " Oldboy"
print(str1.swapcase())
输出结果:oLDBOY
3. title()
作用:title() 主要是用来实现字符串非字母隔开的部分,首字母大写,其余字母小写。
实例:
1
2str1 = "Old boy e com"
print(str1.title())
输出结果:Old Boy E Com
4. upper()
作用:upper() 主要是用来实现字符串所有字母全部大写。
实例:
1
2str1 = "Oldboye"
print(str1.upper())
输出结果:OLDBOYEDU
5. lower()
作用:lower() 主要是用来实现字符串所有字母全部小写。
实例:
1
2str1 = "oLDBOYEDU"
print(str1.lower())
输出结果:oldboye
6. center()
作用:center() 主要是用来实现字符串内容居中,填充物默认为空。
实例:
1
2
3str1 = "Oldboye"
print(str1.center(15))
print(str1.center(15,"*"))
输出结果:
Oldboye
***Oldboye***
7. find()
作用:find() 主要作用是通过元素找索引,可以整体找,可以切片,找不到则返回-1。
实例:
1
2
3str1 = "Oldboye"
print(str1.find('b'))
print(str1.find('A'))
输出结果:3 -1
8. index()
作用:index() 主要作用是通过元素找索引,可以整体找,可以切片,找不到会报错。
实例:
1
2
3str1 = " Oldboye "
print(str1.index("b"))
print(str1.index("A"))
输出结果:
0
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。
实例:
1
2str1 = "Oldboye"
print(str1.startswith("O"))
输出结果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。
实例:
1
2str1 = " Oldboye "
print(str1.endswith("e"))
输出结果:True
11. strip()
作用:strip() 主要作用是去除字符串前后两端的空格或其他字符、换行符、tab键等。
实例:
1
2
3
4str1 = "***Oldboy***"
print(str1.strip("*")) #去除两边的*
print(str1.lstrip("*")) #去除左边的*
print(str1.rstrip("*")) #去除右边的*
输出结果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)主要作用是替换字符串。
实例:
1
2str1 = "Oldboye"
print(str1.replace("boy","man"))
输出结果:Oldmane
13. isalpha()
作用:isalpha()主要作用是要判断字符串是否只由字母组成,是返回Ture,否返回False。
实例:
1
2
3
4str1 = "Oldboye"
str2 = “Old boy e”
print(str1.isalpha())
print(str2.isalpha())
输出结果:True False
14. isdigit()
作用:isdigit()主要作用是判断字符串是否只由数字组成,是返回Ture,否返回False。
实例:
1
2
3
4str1 = "Oldboye"
str2 = “520”
print(str1.isdigit())
print(str2.isdigit())
输出结果:False True
15. format()
作用:format()主要作用是格式化字符串。
方式一:按位置传参
1
2str1 = '我叫{},今年{}岁'.format('oldboy',30)
print(str1)
输出结果:我叫oldboy,今年30岁
方式二:按索引传参
1
2str1 = '我叫{0},今年{1}岁'.format('oldboy',30)
print(str1)
输出结果:我叫oldboy,今年30岁
方式三:按key传参
1
2str1 = '我叫{name},今年{age}岁'.format(age=30,name='oldboy')
print(str1)
输出结果:我叫oldboy,今年30岁
16. count()
作用:count()主要作用是统计元素在字符串出现的次数。
1
2str1 = "oldboye"
print(str1.count(‘o’)) #统计字符o在字符串中出现的次数
数据结果:2
Ⅳ Python字符串拼接的几种方法
Python字符串拼接的几种方法(python3.5):
1、str1+str2
使用+号进行字符串拼接:'wbz'+'ctt'='wbzctt'
2、str1,str2
这种方式有点特殊,如果两个字符串用逗号隔开,那么两个字符串就会被拼接,严格讲不
叫拼接:'wbz','ctt'=('wbz’,'ctt')
3、str1str2
这种拼接方式是Python独有的,只要将两个字符串放在一起,这两个字符串就会自动拼接
成新的字符串,不管这两个字符串中间是否存在空格:'wbz''ctt'='wbzctt'
'wbz''ctt'='wbzctt'
4、%连接字符串
这种方式相对于其他的拼接方式来说就有些强大了,因为它借鉴了C语言中printf()函数
的功能。这种方式用符号'%'连接一个字符串和一组变量,字符串中的特殊标记会被自动用
右边变量组中的变量替换:'%s%s'%('wbz','ctt')='wbzctt'
5、字符串行表连接str.join(list)
这个函数join接受一个列表,并用字符串连接列表中的每一个元素:
data=['wbz','ctt','Python']
str='**##'
str.join(data)='wbz@@@ctt@@@Python'
6、字符串乘法
这种方法也是可以进行字符串拼接的,但是这种方式是不经常使用的:
str='Python'
str*2='PythonPython'
Ⅵ Python字符串匹配的使用方法有哪些
1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
import re
line="this hdr-biz 123 model server 456"
pattern=r"123"
matchObj = re.match( pattern, line)
2. re.search 扫描整个字符串并返回第一个成功的匹配。
import re
line="this hdr-biz model server"
pattern=r"hdr-biz"
m = re.search(pattern, line)
3. Python 的re模块提供了re.sub用于替换字符串中的匹配项。
import re
line="this hdr-biz model args= server"
patt=r'args='
name = re.sub(patt, "", line)
4. compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
import re
pattern = re.compile(r'\d+')
5. re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
import re
line="this hdr-biz model args= server"
patt=r'server'
pattern = re.compile(patt)
result = pattern.findall(line)
6. re.finditer 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
import re
it = re.finditer(r"\d+","12a32bc43jf3")
for match in it:
print (match.group() )
关于Python字符串匹配的使用方法有哪些,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
Ⅶ Python字符串是什么,如何使用
字符串的表示
字符串可以被成对的单引号(single quote)或双引号(double quotes)包围起来,这两者的作用是一样的:
更多关于Python的基础性知识可以看下这个网页的视频教程,Python常见的数据类型及使用方法掌握,希望我的回答能帮到你。
Ⅷ Python字符串匹配方法如何使用
字符串是python中常见的一种对象,使用的方法也很简单,只需要用引号引起来就可以看做是一个字符串,Python字符串匹配有6种方法那么Python字符串匹配方法如何使用,感兴趣的小伙伴们快来学习一下吧!
Ⅸ Python 几个字符串常用的方法
split([sep]) 将字符串分割为列表,默认用空白符分割,给出字符串参数,用参数字符串分割
'a b c'.split() 返回 ['a','b','c']
join 将可迭代对象中的字符串连接在一起
'\n'.join(['a','b','c'] )返回字符串 "a\nb\nc"
str.find(substr,[start,[end]]) 从str的下标 start至end之间查找substr,返回substr出现位置的下标,未找到返回-1
str.index 与find相仿,但未找到抛出异常
其余还要通用的下标 ,切片操作等