文章目录

  • find
  • index
  • count
  • replace
  • upper
  • lower
  • swapcase
  • casefold
  • strip
  • rstrip
  • lstrip
  • split
  • rsplit
  • capitalize
  • encode和decode
  • 格式化和填充
  • format
  • ljust
  • rjust
  • join
  • format_map
  • 判断
  • isdigit
  • startswith
  • endswith
  • islower
  • isspace
  • isupper


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 – 要连接的元素序列。(iterable对象)

返回值

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

实例

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() 方法检测字符串中所有的字母是否都为大写。