Python基础(八):字符串的使用(下)
find()
- 功能:检测字符串是否包含指定字符。如果包含指定字符,则返回开始的索引;否则,返回-1。
>>> st = "hello world"
>>> st.find("or")
7
>>> st.find("ww")
-1
count()
- 功能:统计字符串中,某指定字符在指定索引范围内,出现的次数。索引范围也 是:左闭右开区间。
- 注意:如果不指定索引范围,表示在整个字符串中,搜索指定字符出现的次数。
>>> st = "hello world"
>>> st.count("l")
3
>>> st.count("l",2,len(st))
3
>>> st.count("l",3,len(st))
2
>>> st.count("l",2,3)
1
index()
- 功能:检测字符串是否包含指定字符。如果包含指定字符,则返回开始的索引;否则,提示 ValueError 错误。
>>> st = "hello world"
>>> st.index("or")
7
>>> st.index("ww")
ValueError Traceback (most recent call l
ast)
<ipython-input-9-4958b3271b1c> in <module>()
----> 1 st.index("ww")
ValueError: su
len()
- 功能:计算字符串的长度
>>> st = "hello world"
>>> len(st)
11
replace()
- 语法:st.replace(str1,str2,count)。
- 功能:将字符串 st 中的 str1 替换为 str2。
- 注意:如果不指定 count,则表示整个替换;如果指定 count=1,则表示只替换一次, count=2,则表示只替换两次。
>>> st = "hello world"
>>> st.replace("l","6")
'he66o wor6d'
>>> st.replace("l","6",1)
'he6lo world'
>>> st.replace("l","6",2)
'he66o world'
>>> st.replace("l","6",3)22
'he66o wor6d'
>>> st.replace("l","6",100)
'he66o wor6d'
split()
- 语法:st.split('分隔符', maxSplit)
- 功能:将字符串按照指定分隔符,进行分割。
- 注意:如果 split 中什么都不写,则默认按照空格进行分割;如果指定了分割符,则按照指定分隔符,进行分割。
- maxSplit 作用:不好叙述,自己看下面的例子就明白。
>>> st = "hello world"
>>> st.split()
['hello', 'world']
>>> st.split("l")
['he', '', 'o wor', 'd']
>>> st.split("l",1)
['he', 'lo world']
>>> st.split("l",2)
['he', '', 'o world']
>>> st.split("l",3)
['he', '', 'o wor', 'd']
>>> st.split("l",100)
['he', '', 'o wor', 'd']
splitlines()
- 语法:st.splitlines()
- 功能:将字符串按照按换行(\n),进行分割。
>>> st = 'hello \n world'
>>> st.splitlines()
['hello ', ' world']
startwith()
- 语法:st.startwith(str1)
- 功能:检查字符串 st 是否以字符串 str1 开头,若是,则返回 True;否则,返回 False。
>>> st = "hello world"
>>> st.startswith("h")
True
>>> st.startswith("he")
True23
>>> st.startswith("hel")
True
endwith()
- 语法:st.endwith(str1)
- 功能:检查字符串 st 是否以字符串 str1 结尾,若是,则返回 True;否则,返回 False。
>>> st = "hello world"
>>> st.endswith("d")
True
>>> st.endswith("ld")
True
>>> st.endswith("rld")
True
>>> st.endswith("rd")
False
lower()
- 语法:st.lower()
- 功能:将字符串的所有字母转换为小写。
>>> st = "HELLO WORLD"
>>> st.lower()
'hello world '
upper()
- 语法:st.upper()
- 功能:将字符串的所有字母转换为大写。
>>> st = "hello world"
>>> st.upper()
'HELLO WORLD'
capitalize()
- 语法:st.capitalize()
- 功能:将字符串首字母大写
>>> st = "hello world"
>>> st.capitalize()
'Hello world'
title()
- 语法:st.title()
- 功能:将每个单词的首字母大写(单词与单词之间以空格进行划分)
>>> st = "hello world"
>>> st.title()
'Hello World'
swapcase()
- 语法:st.swapcase()
- 功能:将字符串大小写互换
>>> st = "Hello World"
>>> st.swapcase()
'hELLO wORLD'
strip()
- 语法:st.strip()
- 功能:去掉字符串左右两边的空白字符。可以指定要去除的字符。
- 注意1:st.rstrip() : 去掉字符串右边的空白字符。
- 注意2:st.lstrip() : 去掉字符串左边的空白字符。
>>> st = " hello world "
>>> st.strip()
'hello world'
>>> st.rstrip()
' hello world'
>>> st.lstrip()
'hello world '
join()
- 语法:st.join(str1)
- 功能:在指定字符串 str1 中,每相邻元素中间插入 st 字符串,形成新的字符串。
- 注意:是在 str1 中间插入 st,而不是在 st 中间插入 str1。
>>> st = "Hello World"
>>> str1 = "abc"
>>> st.join(str1)
'aHello WorldbHello Worldic
maketrans() 和 translate()
maketrans()
- 语法:st.maketrans('查找字符','替换字符')两个字符必须长度相等
- 功能:制作用于字符串替换的映射表
- 返回值:字典
>>> st = 'hello world'
>>> st.maketrans('o', 'O')
{111: 79}
translate()
- 语法:st.translate(maketrans返回的字典)
- 功能:进行字符串替换操作
- 返回值:替换之后的字符串
>>> st = 'hello world'
>>> st.maketrans('o', 'O')
{111: 79}
>>> st.translate({111: 79})
'hellO wOrld'
isupper()
- 语法:st.isupper()
- 功能:判断字符串是否都是大写字母。若是,则返回 True;否则,返回 False。
>>> st = 'Hello World'
>>> st.isupper()
False
>>> st1 = 'HELLO WORLD'
>>> st1.isupper()
True
islower()
- 语法:st.islower()
- 功能:判断字符串是否都是小写字母。若是,则返回 True;否则,返回 False。
>>> st = 'Hello World'
>>> st.islower()
False
>>> st1 = 'hello world'
>>> st1.islower()
True
isalpha()
- 语法:st.isalpha()
- 功能:判断字符串是否由字母和文字组成。若是,则返回 True;否则,返回 False。
- 注意:只有字符串中全部是字母或文字,才会返回 True,中间有空格都不行。
>>> st = "hello world"
>>> st.isalpha() # 因为还有空格,所以返回 false。
False
>>> st1 = "helloworld"
>>> st1.isalpha()
True
>>> st2 = "hello李雷"
>>> st2.isalpha()
True
isdigit()
- 语法:st.isdigit()
- 功能:检测字符串数是数字组成 接受二进制字节流。若是,则返回 True;否则,返回 False。
>>> st = "123897"
>>> st.isdigit()
True
>>> st1 = "123 897"
>>> st1.isdigit()
False
其他
isdecimal()
- 语法:st.isdecimal()
- 功能:检测字符串是否以数字组成 必须是纯数字。若是,则返回 True;否则,返回 False。
isnumeric()
- 语法:st.isnumeric()
- 功能:检测字符串是否以数字组成 接受中文"四"。若是,则返回 True;否则,返回 False。
isspace()
- 语法:st.isspace()
- 功能:判断字符串是否由空白符组成。若是,则返回 True;否则,返回 False 。
istitle()
- 语法:st.istitle()
- 功能:判断字符串是否每个单词都首字母大写。若是,则返回 True;否则,返回 False。
isalnum()
- 语法:st.isalnum()
- 功能:判断字符串是否是由数字、字母、汉字组成。若是,则返回 True;否则,返回 False。
zfill()
- 语法:st.zfill(width)
- 功能:填充字符串(默认填充0,原字符串右对齐)
- width:要填充的长度(原字符串 + 填充字符串)
ljust()
- 语法:st.ljust(width,st1)
- 功能:填充字符串,原字符居左 (默认填充空格)
rjust()
- 语法:st.rjust(width,st1)
- 功能:填充字符串,原字符居右 (默认填充空格)
center()
- 语法:st.center(width,st1)
- 功能:填充字符串,原字符居中 (默认填充空格)
当然关于字符串的函数还有很多,这里就不一一列举了