一、字符串包含
1、说明
字符串就是一串字符,是编程语言中表示文本的数据类型
在Python中可以使用一对双引号或者一对单引号定义一个字符串,但是有些时候会在字符串中相互包含
虽然可以使用
\"
或\'
做字符串的转义,但是实际开发中
- 如果字符串内容需要使用
"
双引号,可以使用单引号'
定义字符串- 如果字符串内容需要使用单引号
'
,可以使用双引号"
定义字符串
2、示例代码
示例代码
1
2
3
4
5
6str1 = "hello python"
str2 = "你是'王二狗'么"
str3 = '你是"李小花"么'
print(str1)
print(str2)
print(str3)
二、去掉空格和特殊符号
1、说明
用于移除字符串头尾指定的字符(默认为空格或者换行符)或字符序列
注意:
方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
2、语法格式
去掉两边
1
str.strip([chars])
去掉左边
1
str.lstrip([chars])
去掉右边
1
str.rstrip([chars])
3、参数说明
chars
可选参数,默认去掉空格 移除字符串头尾指定的字符序列
4、返回值
返回删除 string 字符串末尾的指定字符后生成的新字符串
5、示例代码
去掉两边的空格或者换行符,或者指定的
1
2
3
4
5
6
7
8# 去掉两边空格和换行符
In [1]: s = " 花开花落 \t \n"
In [2]: s.strip()
Out[2]: '花开花落'
# 去掉两边指定的字符串
In [3]: s = "abcdef"
In [4]: s.strip('f')
Out[4]: 'abcde'去掉右边或者左边
1
2
3
4
5
6
7In [1]: s = " 花开花落 \t \n"
In [7]: s.lstrip()
Out[7]: '花开花落 \t \n'
In [8]: s.rstrip()
Out[8]: ' 花开花落'
三、字符串的分割
1、说明
按着指定的分隔符对字符串进行切片
2、语法格式
1 | str.split(str="", num=string.count(str)). |
3、参数
str
分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num
分割次数。默认为 -1, 即分隔所有。
4、返回值
列表
5、示例代码
默认切割
1
2
3
4In [2]: s = "自古多情空余恨,唯 有 套路 得 人 心"
In [3]: l = s.split()
In [4]: l
Out[4]: ['自古多情空余恨,唯', '有', '套路', '得', '人', '心']按着指定字符进行分割
1
2
3
4In [6]: s = "玉-树-临-风-美-少-男-,-揽-镜-自-顾-夜-不-眠"
In [7]: l = s.split('-')
In [8]: l
Out[8]: ['玉', '树', '临', '风', '美', '少', '男', '揽', '镜', '自', '顾', '夜', '不', '眠']指定分割次数
1
2
3
4In [9]: s = '我/劝/你/善/良'
In [10]: l = s.split('/',2)
In [11]: l
Out[11]: ['我', '劝', '你/善/良']
四、字符串替换
1、说明
把字符串中的 旧字符串替换成新字符串,如果指定第三个参数max,则替换不超过 max 次
2、语法格式
1 | str.replace(old, new[, count]) |
3、参数说明
old
必要参数,将被替换的子字符串。
new
必要参数,用于替换old子字符串。
count
可选参数, 替换不超过count 次
4、返回值
返回字替换后生成的新字符串
5、示例代码
替换字符串
1
2
3
4
5In [1]: s = "道理我都懂,我就是要作一会"
In [2]: new_s = s.replace('我', '你')
In [3]: new_s
Out[3]: '道理你都懂,你就是要作一会'替换次数
1
2
3
4In [5]: s = 'abcdefaaa'
In [6]: new_s = s.replace('a', '-', 3)
In [7]: new_s
Out[7]: '-bcdef--a'
五、字符串查找
1、说明
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
2、语法格式
1 | find(self, sub, start=None, end=None) |
3、参数说明
str
指定检索的字符串
beg
开始索引,默认为0。
end
结束索引,默认为字符串的长度。
4、返回值
包含子字符串返回开始的索引值,否则返回-1
5、实例代码
基本查找
1
2
3
4
5
6
7In [1]: s = 'Python 了解一下'
In [2]: i = s.find('y')
In [3]: i
Out[3]: 1
In [4]: s.find('te')
Out[4]: -1
指定位置查找
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15In [5]: i = s.find('y',1,3)
In [6]: i
Out[6]: 1
In [7]: i = s.find('n',1,3)
In [8]: i
Out[8]: -1
In [9]: i = s.find('n',1)
In [10]: i
Out[10]: 5
# 反向查找
In [11]: i = s.find('n',1,-5)
In [12]: i
Out[12]: 5
六、判断字符串
1、说明
判断是否以指定的字符串开始或结束
2、语法格式
1 | startswith(prefix, start=None, end=None) |
3、参数说明
prefix
指定的字符串。
start
可选参数,默认0,用于设置字符串检测的起始位置。
strend
可选参数,默认末尾(字符串的长度),用于设置字符串检测的结束位置
4、返回值
如果检测到字符串则返回True,否则返回False。
5、实例代码
示例1
1
2
3
4In [1]: s = '总有刁民想害朕'
In [2]: b = s.startswith('总有')
In [3]: b
Out[3]: True
示例2
1
2
3In [1]: s = '人生在世 但求心安!心若安,人世静好'
In [2]: s.endswith('静好')
Out[2]: True示例3
1
2
3
4
5
6
7In [3]: s = 'you can you up no can no bb'
# 从索引1位置开始检测
In [4]: s.startswith('y',1)
Out[4]: False
In [5]: s.startswith('c',4,10)
Out[5]: True
七、统计次数
1、说明
统计字符串里某个字符出现的次数
2、语法格式
1 | count(sub[, start[, end]]) |
3、参数说明
sub
搜索的子字符串
start
字符串开始搜索的位置。默认为0。
end
字符串中结束搜索的位置。默认到末尾。
4、返回值
字符串在字符串中出现的次数
5、实例代码
示例1
1
2
3
4
5
6
7In [12]: s = 'you can you up no can no bb'
In [13]: s.count('c')
Out[13]: 2
In [14]: s.count('you')
Out[14]: 2
In [15]: s.count('bb')
Out[15]: 1
示例2
1
2
3
4
5In [16]: s.count('bb',-1)
Out[16]: 0
In [17]: s.count('you',10,-1)
Out[17]: 0
八、字符大小写转化
1、说明
字符串中的小写字母转为大写字母或者将字符串的大写转化成小写。中文无效。通常用在对外部输入的字符串转化之后进行比较
2、语法格式
1 | upper() |
4、返回值
返回小写字母转为大写字母的字符串
5、实例代码
小写转大写
1
2
3
4In [18]: s = 'abc'
In [19]: s.upper()
Out[19]: 'ABC'
大写转小写
1
2
3In [20]: name = 'Wener'
In [21]: name.lower()
Out[21]: 'wener'
九、其它
1、判断
方法名 | 返回值 | 说明 |
---|---|---|
isalnum() | bool | 是否全是字母和数字 |
isalpha() | bool | 是否全是 |
isdigit() | bool | 是否全是数字 |
isspace() | bool | 是否是空白字符,并至少有一个字符 |
islower() | bool | 字母是否全是小写 |
isupper() | bool | 字母是否全是大写 |
istitle() | bool | 是否是首字母大写的 |