欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python字符串的常用函数

程序员文章站 2022-07-08 16:27:25
查find描述检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。语法str.find(str, beg=0, end=len(string))参数str – 指定检索的字符串beg – 开始索引,默认为0。end – 结束索引,默认为字符串的长度。返回值如果包含子字符串返回开始的索引值,否则返回-1。实例str1 = "this is string ex...

find

描述

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

语法

str.find(str, beg=0, end=len(string))

参数

  • str – 指定检索的字符串
  • beg – 开始索引,默认为0。
  • end – 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则返回-1。

实例

str1 = "this is string example....wow!!!"
str2 = "exam"

print(str1.find(str2))  # 15
print(str1.find(str2, 10))  # 15
print(str1.find(str2, 40))  # -1

index

描述

Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

语法

str.index(str, beg=0, end=len(string))

参数:

  • str – 指定检索的字符串
  • beg – 开始索引,默认为0。
  • end – 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则抛出异常。

实例

str1 = "this is string example....wow!!!"
str2 = "exam"

print(str1.index(str2))  # 15
print(str1.index(str2, 10))  # 15
print(str1.index(str2, 40))  # 报异常

count

描述

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

语法

str.count(sub, start= 0,end=len(string))

参数

  • sub – 搜索的子字符串
  • start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
  • end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

返回值

该方法返回子字符串在字符串中出现的次数。

实例

test_str = "this is string example....wow!!!"
sub = "i"
print(test_str.count(sub))  # 3
print(test_str.count(sub, 4))  # 2
print(test_str.count(sub, 4, 12))  # 1 顾头不顾尾,结束真正位置是end-1

replace

描述

replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法

str.replace(old, new[, max])

参数

  • old – 将被替换的子字符串。
  • new – 新字符串,用于替换old子字符串。
  • max – 可选字符串, 替换不超过 max 次

返回值

返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

实例

str = "www.w3cschool.cc"
print("菜鸟教程旧地址:", str) # 菜鸟教程旧地址: www.w3cschool.cc
print("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com")) 
# 菜鸟教程新地址: www.runoob.com

str = "this is string is is example....wow!!!"
print(str.replace("is", "was", 3))
# thwas was string was is example....wow!!!

upper

描述

Python upper() 方法将字符串中的小写字母转为大写字母。

语法

str.upper()

返回值

返回小写字母转为大写字母的字符串。

实例

str = "this is string example from runoob....wow!!!";
print ("str.upper() : ", str.upper()) 
# str.upper() :  THIS IS STRING EXAMPLE FROM RUNOOB....WOW!!!

lower

描述

Python lower() 方法转换字符串中所有大写字符为小写。

语法

str.lower()

返回值

返回将字符串中所有大写字符转换为小写后生成的字符串。

实例

str = "Runoob EXAMPLE....WOW!!!"
print( str.lower() ) # runoob example....wow!!!

swapcase

描述

swapcase() 方法用于对字符串的大小写字母进行转换。

语法

str.swapcase();

返回值

返回大小写字母转换后生成的新字符串。

实例

str = "this is string example....wow!!!"
print (str.swapcase())
# THIS IS STRING EXAMPLE....WOW!!!
str = "This Is String Example....WOW!!!"
print (str.swapcase())
# tHIS iS sTRING eXAMPLE....wow!!!

casefold

  • 跟lower的用法一样

strip

描述

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

语法

str.strip([chars]);

参数

  • chars – 移除字符串头尾指定的字符序列。

返回值

返回移除字符串头尾指定的字符序列生成的新字符串。

实例

str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' ))  # this is **string** example....wow!!!
print(str.strip()) # 移除字符串左右两边的字符串

rstrip

  • 移除字符串末尾的空格或者指定的字符串,用法同strip()

lstrip

  • 截掉字符串左边的空格或指定字符,用法同strip()

split

描述

split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。

语法

str.split(str="", num=string.count(str))

参数

  • str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num – 分割次数。默认为 -1, 即分隔所有。

返回值

返回分割后的字符串列表list。

实例

str = "this is string example....wow!!!"
print (str.split( ))       # 以空格为分隔符
# ['this', 'is', 'string', 'example....wow!!!']
print (str.split('i',1))   # 以 i 为分隔符
# ['th', 's is string example....wow!!!']
print (str.split('w'))     # 以 w 为分隔符
# ['this is string example....', 'o', '!!!']

以下实例以 # 号为分隔符,指定第二个参数为 1,返回两个参数列表。

txt = "Google#Runoob#Taobao#Facebook"
# 第二个参数为 1,返回两个参数列表
x = txt.split("#", 1)
print(x)

rsplit

  • 用法和split一样,只不过是从右往左寻找

capitalize

描述

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

语法

str.capitalize()

encode和decode

描述

encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。

语法

str.encode(encoding='UTF-8',errors='strict')

参数

  • encoding – 要使用的编码,如: UTF-8。
  • errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。

返回值

该方法返回编码后的字符串,它是一个 bytes 对象。

实例

str = "菜鸟教程";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")
 
print(str)
 
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
 
print("UTF-8 解码:", str_utf8.decode('UTF-8','strict'))
print("GBK 解码:", str_gbk.decode('GBK','strict'))

输出:
菜鸟教程
UTF-8 编码: b'\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b'
GBK 编码: b'\xb2\xcb\xc4\xf1\xbd\xcc\xb3\xcc'
UTF-8 解码: 菜鸟教程
GBK 解码: 菜鸟教程

格式化和填充

format

print("你是{0}{1}".format('我的', '菇凉'))

ljust

描述

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

语法

str.ljust(width[, fillchar])

参数

  • width – 指定字符串长度。
  • fillchar – 填充字符,默认为空格。

返回值

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

实例

str = "Runoob example....wow!!!"
print (str.ljust(50, '*')) # Runoob example....wow!!!**************************

rjust

跟ljust用法相反

str = "this is string example....wow!!!"
print (str.rjust(50, '*')) # ******************this is string example....wow!!!

join

描述

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

语法

str.join(sequence)

参数

  • sequence – 要连接的元素序列。

返回值

返回通过指定字符连接序列中元素后生成的新字符串。

实例

s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq )) # r-u-n-o-o-b
print (s2.join( seq )) # runoob

format_map

描述

类似 str.format(*args, **kwargs) ,不同的是 mapping 是一个字典对象。

语法

str.format_map(mapping)

参数

  • mapping 是一个字典对象

返回值

针对字典类型的格式化后的新的对象

实例

People = {"name": "john", "age": 33}
print("My name is {name},iam{age} old".format_map(People)) # My name is john,iam33 old

判断

isdigit

描述

Python isdigit() 方法检测字符串是否只由数字组成。

语法

str.isdigit()

参数

  • 无。

返回值

如果字符串只包含数字则返回 True 否则返回 False。

实例

str = "123456"; 
print (str.isdigit()) # true

str = "Runoob example....wow!!!"
print (str.isdigit()) # false

startswith

描述

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

语法

str.startswith(substr, beg=0,end=len(string));

参数

  • str – 检测的字符串。
  • substr – 指定的子字符串。
  • strbeg – 可选参数用于设置字符串检测的起始位置。
  • strend – 可选参数用于设置字符串检测的结束位置

返回值

如果检测到字符串则返回True,否则返回False。

实例

str = "this is string example....wow!!!"
print(str.startswith('this'))  # 字符串是否以 this 开头
#True
print(str.startswith('string', 8))  # 从第九个字符开始的字符串是否以 string 开头
# True
print(str.startswith('this', 2, 4))  # 从第2个字符开始到第四个字符结束的字符串是否以 this 开头
# False

endswith

描述

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

语法

str.endswith(suffix[, start[, end]])

参数

  • suffix – 该参数可以是一个字符串或者是一个元素。
  • start – 字符串中的开始位置。
  • end – 字符中结束位置。

返回值

如果字符串含有指定的后缀返回 True,否则返回 False。

实例

Str='Runoob example....wow!!!'
suffix='!!'
print (Str.endswith(suffix)) # True
print (Str.endswith(suffix,20)) # True
suffix='run'
print (Str.endswith(suffix)) # False
print (Str.endswith(suffix, 0, 19)) # False

islower

描述

islower() 方法检测字符串是否由小写字母组成。

isspace

描述

Python isspace() 方法检测字符串是否只由空白字符组成。

isupper

描述

isupper() 方法检测字符串中所有的字母是否都为大写。

本文地址:https://blog.csdn.net/sinat_28317385/article/details/109607847

相关标签: Python