python -- 有关字符串的函数总结

这篇文章总结的是有关字符串的函数 


目录

关于字符串的查找

关于字符串类型的判断

关于字符串的分割和连接 

关于字符串的修改


关于字符串的查找

          函数                                用途
str.count(sub)  返回:sub在str中出现的次数
str.find(sub)        返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
str.index(sub)       返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误
str.rfind(sub)    返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
str.rindex(sub)      返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误

例子:

input_string = 'this is a test string !'
print(input_string.count('is'))
print(input_string.find('is'))  #包含时
print(input_string.find('si'))  #不包含时
print(input_string.index('is'))
print(input_string.rfind('is'))
print(input_string.rindex('is'))
print(input_string.index('si')) #查看index函数当不包含子字符串时报错的样例

输出依次为:

2
2
-1
2
5
5
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-98-ee5906bcb173> in <module>()
      6 print(input_string.rfind('is'))
      7 print(input_string.rindex('is'))
----> 8 print(input_string.index('si'))

ValueError: substring not found

关于字符串类型的判断

          函数                                用途
str.isalnum()  返回:True, 如果所有的字符都是字母或数字(分隔符、标点都会影响结果,大小写不影响)
str.isalpha()  返回:True,如果所有的字符都是字母(分隔符、标点都会影响结果,大小写不影响)
str.isdigit()  返回:True,如果所有的字符都是数字(分隔符、标点都会影响结果)
str.istitle()  返回:True,如果所有的词的首字母都是大写(词以分隔符、数字划分)
str.isspace()  返回:True,如果所有的字符都是空格
str.islower()  返回:True,如果所有的字符都是小写字母(分隔符、标点、数字都不会影响结果)
str.isupper()  返回:True,如果所有的字符都是大写字母(分隔符、标点、数字都不会影响结果)

注:以上都是对英文字符的判断:一下这两个自编函数可以检验字符串中是否【含有/全是】中文字符:

#检验是否含有中文字符
def isContainChinese(s):
    for c in s:
        if ('\u4e00' <= c <= '\u9fa5'):
            return True
    return False

#检验是否全是中文字符
def isAllChinese(s):
    for c in s:
        if not('\u4e00' <= c <= '\u9fa5'):
            return False
    return True

关于字符串的分割和连接 

          函数                                用途
str.split([sep, [max]])  返回:从左开始,默认是以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.split(',')的方式使用逗号或者其它分割符
str.rsplit([sep, [max]])  返回:从右开始,默认是以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.rsplit(',')的方式使用逗号或者其它分割符
str.join(s)  返回:将s中的元素,以str为分割符,合并成为一个字符串。

例子请参考我之前的一篇博文 “python -- 倒序输出字符串” 

关于字符串的修改

          函数                                用途
str.strip([sub])       返回:去掉字符串开头和结尾的空格。也可以提供参数sub,去掉位于字符串开头和结尾的sub  
str.replace(sub, new_sub)  返回:用一个新的字符串new_sub替换str中的sub
str.capitalize()       返回:将str第一个字母大写
str.lower()         返回:将str全部字母改为小写
str.upper()         返回:将str全部字母改为大写
str.swapcase()        返回:将str大写字母改为小写,小写改为大写
str.title()         返回:将str的每个词(以分隔符、数字分隔)的首字母大写
str.center(width[, fillchar])    返回:长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。
str.ljust(width[, fillchar])       返回:长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。
str.rjust(width[, fillchar])        返回:长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。

例子:

input_string = '    have a good time! '
print(input_string)
print(input_string.strip())
print(input_string.strip().replace('time','dream'))
print(input_string.strip().replace('time','dream').title())
print(input_string.strip().replace('time','dream').title().center(50,'*'))

返回结果一次为:


更新日期:2018-07-19

参考链接:

【1】python 字符串函数

【2】高手接招! 小应用 用python3判断一个字符串是不是中文组成的                

猜你喜欢

转载自blog.csdn.net/August1226/article/details/81117607