精华内容
下载资源
问答
  • Python字符串处理方法

    2020-07-02 21:58:09
    Python内置字符串处理函数 python语言对字符串对象提供了大量的内置方法用于字符串的检测、替换和排版等操作。使用时需要注意的是,字符串对象是不可改变的,所以字符串对象所涉及字符串“修改”的方法都是返回修改...

    Python内置字符串处理方法

    python语言对字符串对象提供了大量的内置方法用于字符串的检测、替换和排版等操作。使用时需要注意的是,字符串对象是不可改变的,所以字符串对象所涉及字符串“修改”的方法都是返回修改之后的新字符串,并不是对原字符做任何修改。

    字符串查找类方法

    • find()和rfind()方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1。
    >>> s = 'bird,fish,monkey,rabbit'
    >>> s.find('fish')	#结果为5
    >>> s.find('b')		#结果为0
    >>> s.rfind('b')	#结果为20
    >>> s.find('tiger')	#指定字符串不存在时返回-1
    
    • index()和rindex()方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则抛出异常。
    >>> s = 'bird,fish,monkey,rabbit'
    >>> s.index('fish')	 #结果为1
    >>> s.rindex('i')	 #结果为21
    >>> s.index('tiger') #指定字符串不存在时抛出异常:substring not find
    
    • count()方法用来返回一个字符串在另一个字符串中出现的次数。如果不存在则返回0.
    >>> s = 'bird,fish,monkey,rabbit'
    >>> s.count('fish')	 #结果为1
    >>> s.count('b')	 #结果为3
    >>> s.count('tiger') #指定字符串不存在时返回0
    

    字符串分隔类方法

    • split()和rsplit()方法分别用来以指定字符为分隔符,从原字符串左端和右端来时将其分隔成多个字符串,并返回包含分隔结果的列表。
    >>> s = 'bird,fish,monkey,rabbit'
    >>> s.split()	#按照‘,’分隔字符串
    ['bird,fish,monkey,rabbit']
    >>> s = 'I am a boy'
    >>> s.split()	#默认按照空白符号分隔字符,包括空格、换行符、制表符等
    ['I', 'am', 'a', 'boy']
    >>> s.rsplit()
    ['I', 'am', 'a', 'boy']
    

    split()和rsplit()方法可以指定分隔次数,当然并不是一定要分这么多次。

    >>> s = "南京 上海 天津 杭州 无锡"
    >>> s.split(maxsplit = 2)	#从左开始,最多分隔两次,分出“南京”和“上海”
    ['南京', '上海', '天津 杭州 无锡']
    >>> s.rsplit(maxsplit = 2)	#从右开始,最多分隔两次,分出“杭州”和“无锡”
    ['南京 上海 天津', '杭州', '无锡']
    
    • partition()和rpartition()方法用来以指定字符串为分隔符将原字符串分隔为3个部分,即分隔符之前的字符串、分隔符字符串和分隔符之后的字符串。如果指定字符串不在原字符串中,则返回原字符串和两个空字符串。如果字符串中有多个分隔符,那么partition()方法按从左到右遇到的第一个字符串来进行分隔,rpartition()方法按从右到左遇到的第一个字符串来进行分隔。
    >>> s = 'bird,fish,monkey,fish,rabbit'
    >>> s.partition('fish')		#按左端的第一个fish将字符串分成三个部分
    ('bird,', 'fish', ',monkey,fish,rabbit')
    >>> s.rpartition('fish')	#按左端的第一个fish将字符串分成三个部分
    ('bird,fish,monkey,', 'fish', ',rabbit')
    >>> s.partition('tiger')	#分隔符不存在,则返回原字符串和两个空串
    ('bird,fish,monkey,fish,rabbit', '', '')
    

    字符串连接方法

    • join()方法用来将列表中多个字符串进行连接,并在两个相邻字符串之间插入指定字符,返回新字符串。
    >>> s = ['apple', 'banana', 'pear', 'peach']
    >>> ':'.join(s)	#用':'作为连接字符
    'apple:banana:pear:peach'
    >>> '-'.join(s)	#用'-'作为连接字符
    'apple-banana-pear-peach'
    

    大小写字符转换方法

    • lower()方法用来将字符串转换为小写字符串;upper()方法用来将字符串转换为大写字符串;capitalize()方法用来将字符串首字母变成大写;title()方法用来将字符串中每个单词的首字母变成大写;swapcase()方法用来将字符串中的字符大小写互换。以上字符串转换方法会生成新的字符串,不对原字符串做任何修改。
    >>> s = "I am a boy."
    >>> s.lower()		#返回小写字符串,返回'i am a boy.'
    >>> s.upper()		#返回小写字符串,返回'I AM A BOY.'
    >>> s.capitalize()	#首字母大写,返回'I am a boy.'
    >>> s.title()		#每个单词首字母大写,返回'I Am A Boy.'
    >>> s.swapcase()	#大小写互换,返回'i AM A BOY.'
    

    字符串替换方法

    • replace()方法用来替换字符串中指定字符或者子字符串,每次只能替换一个字符或者字符串,该方法不修改原字符串,而是返回一个新字符串。
    >>> s = "你是我的小呀小苹果儿"
    >>> s.replace("小","small")
    '你是我的small呀small苹果儿'
    

    字符串删除方法

    • strip()、rstrip()、lstrip()方法分别用来删除字符串两端、右端或左端连续空白字符和指定字符。
    >>> s = "   abc   "
    >>> s.strip()		#删除两端空白字符,返回'abc'
    >>> s.rstrip()		#删除右端空白字符,返回'   abc'
    >>> s.lstrip()		#删除左端空白字符,返回'abc   '
    >>> s = "===mike==="
    >>> s.strip('=')	#删除两端指定字符‘=’,返回'mike'
    >>> s.rstrip('=')	#删除右端指定字符‘=’,返回'===mike'
    >>> s.lstrip('=')	#删除右端指定字符‘=’,返回'mike==='
    

    判断字符串是否以指定字符开始或结束方法

    • 判断字符串是否以指定字符开始或结束方法:startswith()、endswith()
    >>> s = "Python程序设计.py"
    >>> s.startswith("Python")	#检测字符串是否以“Python”开始
    True
    >>> s.endswith("py")		#检测字符串是否以“py”结束
    True
    

    判断字符串类型方法

    • 判断字符串类型方法:isupper()、islower()、isdigit()、isalnum()、isalpha()。
    >>> s = "years"
    >>> s.islower()			#判断字符串是否为全小写,返回True
    >>> s = "YEARS"	
    >>> s.isupper()			#判断字符串是否为全大写,返回True
    >>> s = "20180462"
    >>> s.isdigit()			#判断字符串是否为全数字,返回True
    >>> s = "He is 10 years old"
    >>> s = s.replace(" ","")	#替换点字符串中的空格,返回'Heis10yearsold'
    >>> s.isalnum()			#判断字符串是否为全数字或字母,返回True
    >>> s.isalpha()			#判断字符串是否为全字母,返回False
    

    字符串排版方法

    • python语言中字符串排版方法有4种:center()、ljust()、rjust()和zfill()。
    >>> s = "Hello Mike"
    >>> s.center(30,"=")	#字符串居中对齐,输出宽度为30,不足的以“=”填充
    '==========Hello Mike=========='
    >>> s.ljust(20,"*")		#字符串居左对齐,输出宽度为30,不足的以“*”填充
    'Hello Mike**********'
    >>> s.rjust(20,"*")		#字符串居右对齐,输出宽度为30,不足的以“*”填充
    '**********Hello Mike'
    >>> s.zfill(20)			#输出宽度为20,在字符串左侧以字符“0”填充
    '0000000000Hello Mike'
    
    展开全文
  • python字符串处理方法

    2019-05-24 11:49:00
    字符和字符串可以用来相加来组合成一个字符串输出; 字符或字符串复制输出。 二、Extract &Slice 字符串提取和切片 You can extract asubstringfrom a string by usingslice. Format:[start:end:st.....

    一、combine & duplicate 字符串结合和复制

    字符和字符串可以用来相加来组合成一个字符串输出;

     

    字符或字符串复制输出。

     

    二、Extract &Slice 字符串提取和切片

    You can extract a substring from a string by using slice. Format: [start:end:step]

    • [:] extracts the all string

    • [start:] from start to the end

    • [:end] from the beginning to the end - 1 offset

    • [start:end] from start to end - 1

    • [start:end:step] from start to end - 1, skipping characters by step

      jupyter notebook中测试如下:

     

    letters[::-2]是以-2为步长,从结尾开始提取字符;

    三、get length计算字符串长度

    len( ) 计算字符串中字符个数。

     

    四、split 分割字符串

    split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串。默认用空格分割。

    str.split(‘’, num).

     

    五、join 组合字符串

     

    比较 字符串相加需要新建字符串,join方法是直接在原有字符传序列上更改,效率更高。

    六、Substitue替换

    replace( old_strs, new_strs ),用new_strs替换字符串中所有的old_strs;

    replace( old_strs, new_strs, num ),用new_strs替换字符串中前num个old_strs;

     

    七、字符串中间对齐center()

    str.center(width[, fillchar])
    #width -- 字符串的总宽度。width是双数则从width/2开始放str; width是单数则从(width+1)/2开始放str。
    #fillchar -- 填充字符,可以没有,没有时默认用空白填充。

     

    八、字符串左对齐ljust()

    ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

    str.ljust(width\[, fillchar\])
    
    #width -- 指定字符串长度。
    #fillchar -- 填充字符,默认为空格。

     

    九、字符串右对齐ljust()

    rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

    str.rjust(width\[, fillchar\])
    #width -- 指定填充指定字符后中字符串的总长度.
    #fillchar -- 填充的字符,默认为空格。

     

    十、startswith() 检查第一个字符是否是指定字符

    startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

    str.startswith(str, beg=0,end=len(string));
    #str -- 检测的字符串。
    #beg -- 可选参数用于设置字符串检测的起始位置。
    #end -- 可选参数用于设置字符串检测的结束位置。

     

    十一、endswith() 检查最后一个字符是否是指定字符

    endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。

    str.endswith(str, beg=0,end=len(string))
    #str -- 检测的字符串。
    #beg -- 可选参数用于设置字符串检测的起始位置,限定字符串的第一个字符。
    #end -- 可选参数用于设置字符串检测的结束位置,限定字符串的最后一个字符。

     

    十二、find() 检测字符串中是否包含指定字符串

    find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

    str.endswith(str, beg=0,end=len(string))
    #str -- 指定检索的字符串
    #beg -- 开始索引,默认为0。
    #end -- 结束索引,默认为字符串的长度。

     

    十三、isalnum() 检测字符串是否由字母和数字组成

    isalnum() 方法检测字符串是否由字母和数字组成。如果 str 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

    str.isalnum()

     

    十四、count() 统计字符串里某个字符出现的次数

    count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

    str.count(sub, start= 0,end=len(string))
    #sub -- 搜索的子字符串
    #start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
    #end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

     

    十五、strip() 移除字符串头尾指定字符

    strip() 移除字符串头尾指定字符(默认为空格)或字符序列。 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

    str.strip([chars]);
    # chars -- 移除字符串头尾指定的字符序列。

     

    十六、upper() 把小写字母转为大写字母

    upper() 将字符串中的小写字母转为大写字母。返回小写字母转为大写字母的字符串。

    str.upper()
    #在要修改的字符串后面直接调用upper()方法

     

    十七、lower() 把大写字母转为小写字母

    lower()将字符串中的大写字母转为小写字母。返回大写字母转为小写字母的字符串。

    str.lower()
    #在要修改的字符串后面直接调用lower()方法

     

    十八、capitalize() 把大写字母转为小写字母

    capitalize()将字符串的第一个字符变成大写,其他字母变小写。

    str.capitalize()
    #在要修改的字符串后面直接调用capitalize()方法
    
    #首字符转化为大写字母,其余小写;
    #若首字符非字母,则会出现类似全被转化为小写现象;

     

    十九、title() "标题化"的字符串

    title() "标题化"的字符串,把所有单词的首个字母转化为大写,其余字母均为小写。

    str.title();
    

     

    二十、input() 读取键盘输入

    input() 函数从标准输入读入一行文本,默认的标准输入是键盘。

    input 可以接收一个Python表达式作为输入,并将运算结果返回。

    转载于:https://www.cnblogs.com/xifengxixia/p/10917236.html

    展开全文
  • python 字符串处理 替换字符串中的子字符串 替换字符串中的子字符串这个问题多用函数replace解决,并且其实还可以作为删除字符串中的子字符串 调用方法 string="fafafgfsousfsfrgasgas" print(string.replace("fa...

    python 字符串处理

    1. 替换字符串中的子字符串

    替换字符串中的子字符串这个问题多用函数replace解决,并且其实还可以作为删除字符串中的子字符串

    调用方法

    
    string="fafafgfsousfsfrgasgas"
    print(string.replace("fa","520"))
    
    

    结果
    520520fgfsousfsfrgasgas
    字符串中fa被替换成了520,当然也可以实现删除作用

    string="fafafgfsousfsfrgasgas"
    print(string.replace("fa",""))
    

    结果:
    fgfsousfsfrgasgas
    字符串中fa被删除了

    1. 字符串分割
    string="fafafgfsousfsfrgasgas"
    print(string.split("f"))
    

    会按照“f”将字符串分割返回一个列表
    结果:
    [’’, ‘a’, ‘a’, ‘g’, ‘sous’, ‘s’, ‘rgasgas’]

    1. 字符串连接
      有分就有和
    string="fafafgfsousfsfrgasgas"
    print(string.split("f"))
    a=string.split("f")
    print("#".join(a))
    

    结果:
    ‘#a#a#g#sous#s#rgasgas’
    连接代码:"#".join(a),按照#连接成一个字符串

    1. 只删除字符串中两侧的字符
    print(string.strip("f"))
    print(string.lstrip("f"))
    print(string.lstrip("s"))
    

    上述代码分别是删除string两边最开始的字符,如果是f则删除,如果不是则不删除,lstrip和rstrip是针对左边和右边进行操作。

    1. 判断字符串是否全为数字
    a="154158"
    print(a.isdigit())
    

    结果为True,如果有一个字符不是数字,返回结果都为false

    1. 判断字符串结尾
    
    string=“faffggsgghdf"
    
    print(string.endswith("df"))
    print(string.startswith("faff"))
    

    结果
    True
    True
    第一个判断结尾是否是df ,第二个开头是否是"faff"

    1. 判断字符串是否只存在字母和数字
    a="afaf1564fadf45"
    print(a.isalnum())
    

    结果
    True

    1. 判断字符串中指定字符串出现的次数
    string="fafgfasdfhhiiugasgjifogjsadpjfhfifhafh4fh545fgia"
    print(stirng.count("fh"))
    
    

    结果
    5
    最后需要说一下,字符串其实也是一个对象,调用它的方法更好的解决问题是我们需要去关注的

    展开全文
  • lower()方法:将字符串全部小写 upper()方法:将字符串全部大写 >>> str1='python' >>> str1.upper() 'PYTHON' >>> str2='PYTHON' >>> str2.lower() 'python' 2.split(sep) ...

    1.lower()和upper()

    lower()方法:将字符串全部小写
    upper()方法:将字符串全部大写

    >>> str1='python'
    >>> str1.upper()
    'PYTHON'
    
    >>> str2='PYTHON'
    >>> str2.lower()
    'python'
    

    2.split(sep)

    以sep参数为界限,分割字符串,返回一个列表。如果不填写sep参数,则默认按空格分割。

    >>> str3='oh you can really dance !'
    >>> str3.split()
    ['oh', 'you', 'can', 'really', 'dance', '!']
    
    >>> str4='半江瑟瑟半江红'
    >>> str4.split('半')
    ['', '江瑟瑟', '江红']
    

    3.count(sub)

    str.count(sub) 返回子字符串sub在字符串str中出现的次数。

    >>> str5='真的勇士,敢于直面惨淡的人生,敢于正视淋漓的鲜血'
    >>> str5.count('的')
    3
    

    4.replace(old,new)

    str.replace(old,new) 能将字符串str中的子字符串old替换成新的子字符串new,并返回一个新的字符串。其中,old和new的长度可以不同。

    >>> str6='我去你妈了个逼'
    >>> str6.replace('妈了个逼','****')
    '我去你****'
    

    从这个示例中很容易看出这个函数的一大用途

    5.center(wid,fillstr)

    str.center(wid,fillstr) 返回一个以原字符串str为中心,两边用fillstr填充,长度为wid的字符串。
    fillstr只能是单个的字符,当wid小于len(str)时,返回str

    >>> str7='python'
    >>> str7.center(50,'$')
    '$$$$$$$$$$$$$$$$$$$$$$python$$$$$$$$$$$$$$$$$$$$$$'
    

    6. strip(chars)

    str.strip(chars) 可以去掉原字符串str左侧和右侧的所有的 chars字符串中出现的的每个字符。

    >>> str8='===我自横刀向天笑,笑完我就去睡觉==='
    >>> str8.strip('=睡觉')
    '我自横刀向天笑,笑完我就去'
    

    7.join(sep)

    str.join(sep) 其中sep参数是一个可迭代对象(如:字符串、列表、元组等),可以将str依次插入sep的每个元素之间,返回一个新的字符串

    >>> str9=' '
    >>> str9.join(['no','one','can','hide','from','my','sight'])
    'no one can hide from my sight'
    

    可以看出,join方法和上面第二点提到的split方法可以做两件相反的事。

    8.len(str)

    len(str)可以获取字符串str的长度

    >>> str10='我是一只小跳蛙越过蓝色大西洋'
    >>> len(str10)
    14
    

    可以注意到的是,python的字符串结尾应该是没有‘\0’的。

    9.其他方法

    chr(x):返回Unicode编码x所对应的单个字符
    ord(x):返回单个字符x所对应的Unicode编码
    hex(x):返回整数x对应的十六进制的小写形式的字符串
    oct(x):返回整数x对应的八进制的小写形式的字符串

    以上就是我在复习计算机二级考试时所整理的字符串处理方法。
    如果你有什么改进的方法,请指出来,我将感激不尽;如果这篇文章能帮助到你,我更将不胜荣幸。

    展开全文
  • 字符串拼接 实际场景:把列表中的数据拼接成一个字符串 解决方案:使用 str.join() 方法 >>> li = [3, 'cxk', 'kk', 'caibi'] >>> ''.join([str(i) for i in li]) '3cxkkkcaibi' 复制代码推荐使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,725
精华内容 1,490
关键字:

python字符串处理方法

python 订阅