一、字符串拼接
1.采用 +号的形式
a = 'hello'
b = 'world'
c = a + ' ' + b
print(c)
#显示结果
hello world
2.采用格式化的形式
a = 'hello'
b = 'world'
c = '%s %s' % (a,b)
print(c)
#显示结果
hello world
二、字符串下标操作
1.正数,0代表字符串第一个字符
username = 'feiniu002'
a = username[0]
print(a)
#显示结果
f
2.负数,-1代表字符串最后一个字符
username = 'feiniu002'
b = username[-1]
print(b)
#显示结果
2
三、字符串切片
规则:string[开始位置:结束位置+1:步长]
注意:[ ]的第二个参数是结束位置+1
1.从起始位到指定位置
numbers = 'feiniu002'
#方式一
temp = numbers[0:3]
print(temp)
#结果显示
fei
numbers = 'feiniu002'
#方式二
#省略代表字符串起始位
temp = numbers[:3]
print(temp)
#结果显示
fei
2.从指定位置到结束位置
numbers = 'feiniu002'
#从倒数第四个到结束
temp = numbers[-4:]
print(temp)
#结果显示
u002
numbers = 'feiniu002'
#从倒数第四个到最后一个字符(最后一个字符不包含在内)
temp = numbers[-4:-1]
print(temp)
#结果显示
u00
3.从指定位置到指定位置
numbers = 'feiniu002'
#从第二个字符到倒数第二个字符(倒数第二个字符不包含在内)
temp = numbers[1:-2]
print(temp)
#结果显示
einiu0
4.步长的使用(没有填写步长,则默认为1)
当步长为正数时,string[ : : 2],
第一个空格代表字符串起始位置,
第二个空格代表字符串结束位置
当步长为负数时,string[ : : -2],
第一个空格代表字符串结束位置,
第二个空格代表字符串起始位置
#正数步长
numbers = 'feiniu002'
temp = numbers[0::2]
print(temp)
#结果显示
fii02
#负数步长 -1
numbers = 'feiniu002'
#代表从字符串的末尾到字符串的开头
temp = numbers[-1::-1]
print(temp)
#结果显示
200uinief
#负数步长 -2
numbers = 'feiniu002'
#代表从字符串的末尾到字符串的开头
temp = numbers[-1::-2]
print(temp)
#结果显示
20iif
四、字符串常用方法
1.find:返回查找字符串的下标位置。如果返回的是-1,代表的是没有查找到该字符串
username = 'feiniu002'
index = username.find('niu')
if index >= 0:
print(index)
else:
print('您要找的字符串不存在')
#结果显示
3
2.index:返回查找字符串的下标位置。如果查找不到该字符串,则抛出一个异常
username = 'feiniu002'
index = username.index('niu')
print(index)
#结果显示
3
username = 'feiniu002'
index = username.index('ni2u')
print(index)
#结果显示
ValueError: substring not found
3.len:获取字符串字符的长度
username = 'feiniu002'
length= len(username )
print(length)
#结果显示
9
4.count:用来获取子字符串在原来字符串中出现的次数
username = 'feiniu002 feiniu003 feiniu004'
temp = username.count('feiniu')
print(temp)
#结果显示
3
5.replace:新创建一个字符串,把原来字符串中的某个字符串替换为你想要的字符串
username = 'feiniu002 feiniu003 feiniu004'
new_username = username.replace('feiniu','hello')
print(new_username)
#结果显示
hello002 hello003 hello004
#通过replace将字符串中的所有空格去除
username = 'feiniu002 feiniu003 feiniu004'
new_username = username.replace(' ','')
print(new_username)
#结果显示
feiniu002feiniu003feiniu004
6.split:按照给定的字符串进行分割,返回的是一个列表
username = 'feiniu002 feiniu003 feiniu004'
username_list = username.split(' ')
print(username_list)
#结果显示
['feiniu002', 'feiniu003', 'feiniu004']
7.startswith:判断一个字符串是否以某个字符串开始
username = 'feiniu002'
result = username.startswith('feiniu')
print(result)
#结果显示
True
8.endswith:判断一个字符串是否以某个字符串结束
username = 'feiniu002'
result = username.endswith('002')
print(result)
#结果显示
True
9.lower:将字符串全部改成小写
username = 'FEINIU002'
username_lower = username.lower()
print(username)
print(username_lower)
#结果显示
FEINIU002
feiniu002
10.upper:将字符串全部改成大写
username = 'feiniu002'
username_lower = username.upper()
print(username)
print(username_lower)
#结果显示
feiniu002
FEINIU002
11.strip:将字符串左右的空格全部去掉
username = ' feiniu002 '
print(len(username))
username = username.strip()
print(len(username))
#结果显示
11
9
12.lstrip:删除字符串左边的空格
username = ' feiniu002 '
print(len(username))
username = username.lstrip()
print(len(username))
#结果显示
11
10
13.rstrip:删除字符串右边的空格
username = ' feiniu002 '
print(len(username))
username = username.rstrip()
print(len(username))
#结果显示
11
10
14.partition:从'str'出现的第一个位置起,把字符串'string'分成一个3元素的元组'(string_pre_str,str,string_post_str)',如果string中不包含'str',则'string_pre_str == string'
username = 'python feiniu002 python'
username_tupe = username.partition('feiniu002')
print(username_tupe)
#结果显示
('python ', 'feiniu002', ' python')
15.isalnum:如果string至少有一个字符并且所有字符都是字母或者数字则返回True,否则返回False
username = 'feiniu002'
result = username.isalnum()
print(result)
#结果显示
True
16.isalpha:如果string至少有一个字符并且所有字符都是字母则返回True,否则返回False
username = 'feiniu002'
result = username.isalpha()
print(result)
#结果显示
False
17.isdigit:如果string只包含数字则返回True,否则返回False
username = 'feiniu002'
result = username.isdigit()
print(result)
#结果显示
False
18.isspace:如果string只包含空格则返回True,否则返回False
username = 'feiniu002'
result = username.isspace()
print(result)
#结果显示
False
19.format:
#1.format函数最简单的使用方式
name = 'feiniu002'
age = 18
greet = 'my name is {},my age is {}'.format(name,age)
print(greet)
#结果显示
my name is feiniu002,my age is 18
#2.format函数使用位置i参数的方式
name = 'feiniu002'
age = 18
greet = 'my name is {0},my username is {0},my age is {1}'.format(name,age)
print(greet)
#结果显示
my name is feiniu002,my username is feiniu002,my age is 18
3.关键字参数
name = 'feiniu002'
age = 18
greet = 'my name is {username },my username is {username },my age is {userage }'.format(username = name,userage = age)
print(greet)
#结果显示
my name is feiniu002,my username is feiniu002,my age is 18
五、常见转移字符
1. \在行尾:续行符
temp1 = 'feiniu002feiniu003feiniu004feiniu005feiniu006'
temp2 = 'feiniu002\
feiniu003\
feiniu004\
feiniu005\
feiniu006'
print(temp1)
print(temp2)
#结果显示
feiniu002feiniu003feiniu004feiniu005feiniu006
feiniu002feiniu003feiniu004feiniu005feiniu006
2. \n:换行符
temp = 'feiniu002\nfeiniu003'
print(temp)
#结果显示
feiniu002
feiniu003
3. \ ':单引号及\ '':双引导
temp = 'i\'m \"feiniu002\"'
print(temp)
#结果显示
i'm "feiniu002"
4. \t:制表符(即tab键)
temp = 'feiniu002\tfeiniu003'
print(temp)
#结果显示
feiniu002 feiniu003
5. \ \:反斜杠
temp = 'feiniu002\\feiniu003'
print(temp)
#结果显示
feiniu002\feiniu003
六、原生字符串
原始字符串不会对字符串中任何字符进行转义,你写了什么东西,这个字符串就是什么东西,达到一种所见即所得的效果,语法:r'xxx'
temp = r'feiniu002\\n\'\"\t\\'
print(temp)
#结果显示
feiniu002\\n\'\"\t\\