006-2 字符串相关函数

字符串相关函数

*capitalize 字符串首字母大写    
*title 每个单词的首字母大写
*upper 将所有字母变成大写
*lower 将所有字母变成小写
*swapcase 大小写互换
*len 计算字符串的长度
*count 统计字符串中某个元素的数量
*find 查找某个字符串第一次出现的索引位置 #没有找到范围-1
*index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
*startswith 判断是否以某个字符或字符串为开头
*endswith 判断是否以某个字符或字符串结尾
*isupper 判断字符串是否都是大写字母 
*islower 判断字符串是否都是小写字母
#istitle 判断字符串是否每个单词都首字母大写
#isalnum 判断字符串是否是由数字、字母、汉字组成
*isalpha 判断字符串是否由字母和文字组成
*isdigit 检测字符串数是数字组成 接受二进制字节流
*isdecimal 检测字符串是否以数字组成 必须是纯数字
#isnumeric 检测字符串是否以数字组成 接受中文"四"
#isspace 判断字符串是否由空白符组成
*split 按某字符将字符串分割成列表(默认字符是空格)
*join 按某字符将列表拼接成字符串(容器类型都可)
#ljust 填充字符串,原字符居左 (默认填充空格)
#rjust 填充字符串,原字符居右 (默认填充空格)
*center 填充字符串,原字符居中 (默认填充空格)
*strip 默认去掉首尾两边的空白符
#rstrip 去掉右边某个字符
#lstrip 去掉左边某个字符

#lsplitlines 按换行来进行切分(\n)
#zfill 填充字符串(默认填充0,原字符串右对齐)
*replace()
功能: 把字符串的旧字符换成新字符
格式: 字符串.replace('旧字符','新字符'[, 限制替换的次数])
返回值: 替换之后的字符串

#maketrans translate 是一对
maketrans()
功能: 制作用于字符串替换的映射表
格式: 字符串.maketrans('查找字符','替换字符')两个字符必须长度相等
返回值: 字典
translate()
功能: 进行字符串替换操作
格式: 字符串.translate(maketrans返回的字典)
返回值: 替换之后的字符串

1.capitalize

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

语法:
capitalize()

方法语法:str.capitalize()
message = "what Are You doing"

print(mes.capitalize())
#What are you doing

2.title

## 描述:
Python title() 方法返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写

## 语法:
title()方法语法:
str.title();
message = "what Are You doing"

print(message.title())
#What Are You Doing

3.upper

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

## 语法:
upper()方法语法:
str.upper()
#######################################################################################################
message = "what Are You doing"

print(message.upper())
#WHAT ARE YOU DOING

4.lower

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

## 语法:
lower()方法语法:
str.lower()
#######################################################################################################
message = "what Are You doing"

print(message.lower())
#what are you doing

5.swapcase

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

## 语法:
swapcase()方法语法:
str.swapcase();
#######################################################################################################
message = "what Are You doing"

print(message.swapcase())
#WHAT aRE yOU DOING

6.len

## 描述:
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
## 语法:
len()方法语法:
len( s )
## 参数:
- s -- 对象。
## 返回值:
返回对象长度。

#######################################################################################################
message = "what Are You doing"

print(len(message))
#18

7.count

## 描述:
count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
## 语法:
count()方法语法:
str.count(sub, start= 0,end=len(string))

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

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

#######################################################################################################
message = "what Are You doing"

print(message.count('o')) # 2
print(message.count('o',8,11)) # 0

8.find

## 描述:
find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) end(结束) 范围,则检查是否包含在指定范围内,
如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1
## 语法:
find()方法语法:
str.find(str, beg=0, end=len(string))
## 参数:
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。

## 返回值:
如果包含子字符串返回开始的索引值,否则返回-1
#######################################################################################################
message = "what Are You doing"

print(message.find('o')) #10
print(message.find('o',11,20)) #14
print(message.find('ab')) #-1

9.index

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

## 语法:
index()方法语法:
str.index(str, beg=0, end=len(string))
## 参数:
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。

## 返回值:
如果包含子字符串返回开始的索引值,否则抛出异常。
#######################################################################################################
message = "what Are You doing"

print(message.index('o')) #10
print(message.index('o',11,20)) #14
print(message.index('ab')) #报错

'''
Traceback (most recent call last):
File "D:/1.职业生涯规划/4.Linux 运维开发之路/python/Python 学习逃亡路/Test/20200713.py", line 117, in <module>
print(message.index('ab'))
ValueError: substring not found
'''

10.startswith

## 描述:
startswith() 方法用于检查字符串是否是以指定子字符串开头(区分大小写),如果是则返回 True
否则返回 False。如果参数 beg end 指定值,则在指定范围内检查。

## 语法:
startswith()方法语法:
str.startswith(substr, beg=0,end=len(string));
## 参数:
- str -- 检测的字符串。
- substr -- 指定的子字符串。
- strbeg -- 可选参数用于设置字符串检测的起始位置。
- strend -- 可选参数用于设置字符串检测的结束位置。

## 返回值:
如果检测到字符串则返回True,否则返回False。
#######################################################################################################
message = "what Are You doing"


print(message.startswith('a')) #False
print(message.startswith('A',5,7)) #True

11.endswith

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

语法:
endswith()方法语法:
str.endswith(suffix[, start[, end]])
参数
suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。

返回值:
如果字符串含有指定的后缀返回 True,否则返回 False
#######################################################################################################
message = "what Are You doing"

print(message.endswith('g')) #True
print(message.endswith('d')) #False

12.isupper

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

## 语法:
isupper()方法语法:
str.isupper()
## 参数 : - 无。
## 返回值:
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False


message = "WU"
print(message.isupper())

#True

13.islower

## 描述:
islower() 方法检测字符串是否由小写字母组成。
## 语法:
islower()方法语法:
str.islower()
## 参数
- 无。

## 返回值:
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)

## 描符都是小写,则返回 True,否则返回 False

message = "WU are"
print(message.islower())
#False

14.istitle

## 描述:
istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
## 语法:
istitle()方法语法:
str.istitle()
## 参数
- 无。
## 返回值:
如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.

message = "WU are"
print(message.istitle()) #False

message = "Wu ARE"
print(message.istitle()) #False

message = "Wu Are"
print(message.istitle()) #True

15.isdecimal

## 描述:
isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
**注意:**定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。

## 语法:
isdecimal()方法语法:
str.isdecimal()
## 参数
-
## 返回值:
如果字符串是否只包含十进制字符返回True,否则返回False


num = "125"
print(num.isdecimal()) #True

16.split

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

## 语法:
split() 方法语法:
str.split(str="", num=string.count(str))
## 参数:
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。默认为 -1, 即分隔所有。

## 返回值:
返回分割后的字符串列表。

message = "How are you"
print(message.split()) #['How', 'are', 'you']
print(message.split('o',1)) # ['H', 'w are you']
print(message.split('a')) #['How ', 're you']

17.join

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

## 语法:
join()方法语法:
str.join(sequence)

## 参数:
- sequence -- 要连接的元素序列。

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

mes01 = "abcd"
mes02 = ['a','b','c','d']
print('-'.join(mes01))
print('**'.join(mes02))

18.ljust

## 描述:
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
## 语法:
ljust()方法语法:
str.ljust(width[, fillchar])
## 参数:

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

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


message = 'wu'
print(message.ljust(10,'*'))
#wu********

19.rjust

## 描述:
rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
## 语法:
rjust()方法语法:
str.rjust(width[, fillchar])
## 参数
- width -- 指定填充指定字符后中字符串的总长度.
- fillchar -- 填充的字符,默认为空格。

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

message = "wu"
print(message.rjust(10,'$'))

#$$$$$$$$wu

20.center

## 描述:
center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
### 语法:
center()方法语法:
str.center(width[, fillchar])
## 参数

- width -- 字符串的总宽度。
- fillchar -- 填充字符。

## 返回值:
返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充

message = "wu"
print(message.center(10,'#'))
####wu####

21.strip

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

## 语法:
strip()方法语法:
str.strip([chars]);
## 参数:
- chars -- 移除字符串头尾指定的字符序列。

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

message = " zhongguo "
print(message.strip())
#zhongguo

22.rstrip

## 描述:
rstrip() 删除 string 字符串末尾的指定字符(默认为空格).

## 语法:
rstrip()方法语法:
str.rstrip([chars])
## 参数

- chars -- 指定删除的字符(默认为空格)

## 返回值:
返回删除 string 字符串末尾的指定字符后生成的新字符串。

message = " zhongguo "
#zhongguo #zhongguo 后有空格

message = "###num@@@@@"
print(message.lstrip('#'))
#num@@@@@

23.lstrip

## 描述:
lstrip() 方法用于截掉字符串左边的空格或指定字符。

## 语法:
lstrip()方法语法:
str.lstrip([chars])
## 参数

- chars --指定截取的字符。

## 返回值:
返回截掉字符串左边的空格或指定字符后生成的新字符串


message = " zhongguo "
# zhongguo

message = "###num@@@@@"
print(message.rstrip('@'))
###num

24.isalnum

## 描述:
isalnum() 方法检测字符串是否由字母、数字、汉字组成。
可以相互组合使用,或是单个一项出现;
## 语法:
isalnum()方法语法:
str.isalnum()
## 参数
- 无。

## 返回值:
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

message = "sdf234可恶"
print(message.isalnum()) #True

message = "sdf234"
print(message.isalnum()) #True

message = "!!234"
print(message.isalnum()) #False

25.isalpha

## 描述:
Python isalpha() 方法检测字符串是否只由字母或文字组成。
## 语法:
isalpha()方法语法:
str.isalpha()
## 参数
- 无。

## 返回值:
如果字符串至少有一个字符并且所有字符都是字母或文字则返回 True,否则返回 False

message = "sdf234可恶"
print(message.isalpha()) #False


message = "wefsf"
print(message.isalpha()) #True

message = "中国"
print(message.isalpha()) #True

## 26.isdigit

## 描述:
Python isdigit() 方法检测字符串是否只由数字组成。
检测字符串数是数字组成 接受二进制字节流
## 语法:
isdigit()方法语法:
str.isdigit()
## 参数
- 无。

## 返回值:
如果字符串只包含数字则返回 True 否则返回 False

x = "55115"
z = "151sew"

print(x.isdigit(),z.isdigit())
#True False

27.isnumeric

## 描述:
isnumeric() 方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字。

指数类似 ² 与分数类似 ½ 也属于数字。
# s = '½'
s = '\u00BD'

## 语法:
isnumeric()方法语法:
str.isnumeric()
## 参数:
- 无。

## 返回值:
如果字符串中只包含数字字符,则返回 True,否则返回 False

28.isspace

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

## 语法:
isspace() 方法语法:
str.isspace()
## 参数:
- 无。

## 返回值:
如果字符串中只包含空格,则返回 True,否则返回 False.


x = " "
y = "sdf245"
print(x.isspace())
print(y.isspace())

#True
#False

29.replace

## 描述:
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
## 语法:
replace()方法语法:
str.replace(old, new[, max])
## 参数

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

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


mess = "how are you"
print(mess.replace('you','he'))
#how are he


mess = "how are you you you you "
print(mess.replace('you','he'))
#how are he he he he

print(mess.replace('you','he',2))
#how are he he you you



posted @ 2020-07-13 23:39  VajraBoy  阅读(163)  评论(0编辑  收藏  举报