这篇文章总结的是有关字符串的函数
目录
关于字符串的查找
函数 | 用途 |
---|---|
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 字符串函数