文章目录
- 一、字符串拼接
- 1.使用+号连接字符串
- 2.使用,号连接字符串
- 3.使用%连接字符串
- 4.使用join函数连接字符串
- 二、字符串常用方法
- 1.大小写转换
- 2.找位置 str.find()检测字符串中是否包含子字符串str,返回下标
- 3.替换 str.replace(str1,str2) 把字符串中的str1替换成str2
- 4.去左右字符
- 5.判断字符是否在字符串当中
- 6. 字符串取值
- 7.字符串拆分、划分
- 8.遍历字符串
- 9.字符串合并
- 10.判断以什么开头
- 11.统计长度len()
- 12.编码
- 13.查看当前字符串在ascii码表里的位置
- 14.字符串转义
- **(1.)处理字符串当中的引号两种方法**
- ①使用不同的引号包围字符串
- ②对字符串内容的引号进行转义,使用\即可
- 15.字符串格式化
- (1)format格式化
- (2)%号格式化,使用%进行占位,%连接传参
- (3)f-string 格式化,直接在花括号中传值
str1 = '++123--'
str2 = ''
str3 = " [3,4,5] "
str4 = """
# hello
# woRld
# """
str5 = "123"
一、字符串拼接
1.使用+号连接字符串
s1 = '我'
s2 = '是'
s3 = '一个'
s4 = '好人'
s5 = s1 + s2 +s3 +s4
print(s5)
print(type(s5))
结果:
我是一个好人
<class 'str'>
2.使用,号连接字符串
s1 = '我'
s2 = '是'
s3 = '一个'
s4 = '好人'
s5 = s1,s2,s3,s4
print(s5)
print(type(s5))
结果:
('我', '是', '一个', '好人')
<class 'tuple'>
3.使用%连接字符串
print('%s%s%s%s'%('我','是','一个','好人'))
结果:我是一个好人
4.使用join函数连接字符串
list1 = ['hello','world','i','love','you']
print('王先生'.join(list1))
print('www.' 'baidu.com')
![Alt](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center
二、字符串常用方法
1.大小写转换
str1 = """
# hello
# woRld
# """
print(str1.upper())
print(str1.lower())
print(str1.swapcase())
print(str1.title())
>>> name = 'li qin'
>>>> name.title()
>'Li Qin'
2.找位置 str.find()检测字符串中是否包含子字符串str,返回下标
str1 = "[3,4,5,6]"
print(str1[3])
a = str1.find('6')
b = str1.index('6')
print(a,b)
结果:
4
7 7
如果想要知道某个字符串是否包含在列表中,可以直接使用index方法判断。
如果包含了字符串中,返回该字符串第一次出现的位置;如果不包含,就会出错。
str1 = '12336'
b = str1.index('6')
print(b)
结果:4
3.替换 str.replace(str1,str2) 把字符串中的str1替换成str2
str1 = "[3,4,5,6]"
print(str1.replace(',','|'))
4.去左右字符
**
Python strip()方法用于移除字符串首尾指定的字符串;当没有参数时,默认为空格和换行符。
**
str1 = '++++1234---'
str2 = ' 123'
print(str2.strip())
print(str1.rstrip('-'))
print(str1.lstrip('+'))
print(str1.lstrip('+').rstrip('-'))
5.判断字符是否在字符串当中
isdigit() 如果字符串中包含数字则返回Ture,否则返回False
False
6. 字符串取值
str3 = " [3,4,5] "
print(str3.index(']'))
print(str3.index('['))
print(str3[6:11][::-1])
例题1
只取出人名,不要逗号,打印的时候只打印人名。
做题思路
data = "刘晓庆,王晨晨,马天宇,张茯苓,柳灵儿"
print(data[::])
while True:
print(data[:data.index(',')])
print(data[data.index(',') + 1:])
break
答案
data = "刘晓庆,王晨晨,马天宇,张茯苓,柳灵儿"
while True:
try:
print(data[:data.index(',')])
data = data[data.index(',') + 1:]
except:
print(data)
break
7.字符串拆分、划分
data = "刘晓庆,王晨晨,马天宇,张茯苓,柳灵儿"
for i in data.split(','):
print(i)
8.遍历字符串
b = '12336'
for i in b:
print(i)
data = "刘晓庆,王晨晨,马天宇,张茯苓,柳灵儿"
for i in data:
print(i)
9.字符串合并
str.split()通过指定的分隔符对字符串进行切片,返回列表类型的数据,str.split() num=string.split(str))为分隔符截取字符串将字符串分割成列表
str.join(seq),以指定字符串作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
###使用join函数连接字符串
1.
list1 = ['hello','world','i','love','you']
print('王先生'.join(list1))
2.
data = "刘晓庆|王晨晨|马天宇|张茯苓|柳灵儿"
print(data)
d = data.split('|')
print(d)
print('-'.join(d))
print('|'.join(d))
刘晓庆|王晨晨|马天宇|张茯苓|柳灵儿
['刘晓庆', '王晨晨', '马天宇', '张茯苓', '柳灵儿']
刘晓庆-王晨晨-马天宇-张茯苓-柳灵儿
刘晓庆|王晨晨|马天宇|张茯苓|柳灵儿
10.判断以什么开头
data = "刘晓庆,王晨晨,马天宇,张茯苓,柳灵儿"
print(data.startswith('大'))
11.统计长度len()
data = "刘晓庆|王晨|柳灵儿"
print(len(data))
12.编码
strs = '中国'
print(str)
13.查看当前字符串在ascii码表里的位置
print(ord('a'))
print(chr(97))
for i in range(100000):
print(chr(i))
strs = '中国'
print(strs.encode('utf8').decode('utf8'))
print(strs.encode('gbk').decode('gbk'))
print(strs.encode('gbk'))
print(strs.encode('utf8'))
特殊
str1 = b'\xd6\xd0\xb9'.decode('gbk','ignore')
print(str1)
14.字符串转义
print('hello\nwor\'ld')
print(r'hello\nworld')
hello
wor'ld
hello\nworld
(1.)处理字符串当中的引号两种方法
①使用不同的引号包围字符串
②对字符串内容的引号进行转义,使用\即可
s5 = "i'm a good boy"
s6 = 'i\'m a good boy'
print(s5)
print(s6)
15.字符串格式化
想让输入到里面的值可以变化,比如可以随便输入一个人的名字,查询成绩什么的,就可以随便输入.
(1)format格式化
1.
username = input('请输入你的名字')
score = float(input('请输入你的成绩'))
print('你好,{0},你的成绩是{1:.2f}'.format(username,float(score)))
结果:
请输入你的名字李白
请输入你的成绩95.89
你好,李白,你的成绩是95.89
2.
name = '李崇昂'
print("我的名字是:{}".format(name))
print('我的年龄是:{age}'.format(age = 18))
我的名字是:李崇昂
我的年龄是:18
(2)%号格式化,使用%进行占位,%连接传参
%s 格式化字符串
%d 格式化整数
%f 格式化浮点数,可以指定小数点后的精度
1.
username = input('请输入你的名字')
score = float(input('请输入你的成绩'))
print('你好,%s,你的成绩是%.2f'%(username,float(score)))
结果:
请输入你的名字柳宗元
请输入你的成绩97.546
你好,柳宗元,你的成绩是97.55
2.
name = '柳宗元'
age = 18
print('我的名字是%s,我今年%d岁了'%(name,age))
(3)f-string 格式化,直接在花括号中传值
1.
username = input('请输入名字')
score = float(input('请输入你的成绩'))
print(type(score))
print(f'你好,{username},你的成绩是{score:.2f}')
结果:
请输入名字梦游
请输入你的成绩102.67
<class 'float'>
你好,梦游,你的成绩是102.67
2.
name = '李白'
print(f'你的名字是{name}')
也可以使用字典类型来格式化
3.
d = {'age':18,'name':18}
print(f'年龄{d["age"]}:名字{d["name"]}')
结果:年龄18:名字18
例题2
输出对应的最大值
答案
max = 0
max_name = ''
strs = "柳宗元-1|杜甫-5|李白-3|陆游-7|王维-6"
for i in strs.split('|'):
d = i.split('-')
name = d[0]
num = int(d[1])
if num>max:
max = num
max_name = name
print(max,max_name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)