Python学习笔记2:字符串操作
#1.常用的字符串拼接方法#1.1 加法拼接
str1 = 'hello'
str2 = "python!"
str3 = str1 + str2
print(str3)# hellopython!
#1.2 乘法拼接
str4 = 'a' * 10
print(str4)# aaaaaaaaaa
#1.3 字符串格式化操作符%拼接
#%s,%d,%f的作用是占位作用,然后在字符串后面跟一个%,再在后面写拼到占位位置的内容。
# %s: 将一个字符串拼接到前面的字符串中
# %d: 将一个整型数字转换成字符串拼接到前面的字符串中,可以设置整数的位数,前面补0
# %f: 将一个浮点型数字转换成字符串拼接到前面的字符串中,可以设置小数点后的位数,后面补0
str5 = '12345%s12345' % '00000'
print(str5)# 123450000012345
str6 = 'aaa%daaa' % 100
print(str6)# aaa100aaa
str7 = 'bbb%.3fbbb' % 0.9
print(str7)# bbb0.900bbb
#1.4str.format()方法拼接
str8 = 'hello {a} python{b} !'.format(a='你好', b='PYTHON')
print(str8)# hello 你好 pythonPYTHON !
#2.字符串截取 string
# start:起点位置,子字符串的起始索引。该索引处的字符包含在子字符串中。start 为空时则默认为 0。
# end:终点位置,子字符串的终止索引。该索引处的字符不包括在子字符串中。end 为空时,或者指定的值超过字符串的长度,则默认它等于字符串的长度。
# step:步长,当前字符之后和目标字符之间的距离。step 为空时,则默认值为 1。
# string:获取从 起点位置 到 终点位置 - 1 的所有字符
# string[:end]:获取从 字符串开头 到 终点位置 - 1 的所有字符
# string:获取从 起点位置 到字符串结尾的所有字符
# string:获取从 起点位置 到 终点位置 - 1 的,每个之间距离 步长 的所有字符
str1 = '1a3b5c7d9e'
str2 = str1
print(str2)# a3
str3 = str1[:-2]
print(str3)# 1a3b5c7d
str4 = str1[::2]
print(str4)# 13579
str5 = str1[-3:]
print(str5)# d9e
str6 = str1
print(str6)# a3b5c
#3.字符串替换常用 replace()
str1 = '123456123456'
str2 = str1.replace('123', '789')# 替换所有
print(str2)# 789456789456
str3 = str1.replace('123', '999', 1)# 只替换第一个匹配项
print(str3)# 999456123456
#4.字符串分割
#4.1 split()方法
# split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
# str.split(str="", num=string.count(str))
# str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
# num – 分割次数。
# 返回分割后的字符串列表。
str1 = '''hello
python
HELLO
PYTHON!'''
str_list1 = str1.split('\n', )
print(str_list1)# ['hello', 'python', 'HELLO', 'PYTHON!']
str2 = 'https://www.52pojie.cn/thread-1930827-1-1.html'
str_list2 = str2.split('/', )
print(str_list2)# ['https:', '', 'www.52pojie.cn', 'thread-1930827-1-1.html']
#4.2 re.split()
import re
str1 = 'hello\n my; love python*!,'
# 四个分隔符为:,;*\n
str_list3 = re.split(r'\n|,|;|\*', str1)
print(str_list3)# ['hello', ' my', ' love python', '!', '']
#5.字符串包含
# 5.1 常用in 和not in
str1 = 'hello python!'
str2 = 'ell'
str3 = '999'
aaa = str2 in str1
print(aaa)# True
bbb = str3 not in str1
print(bbb)# True
ccc = str1.index(str2)
print(ccc)# 1 返回指定子串在该字符串中第一次出现的索引,如果没有找到会抛出异常
#5.2 用re.findall()
ddd = re.findall(str2,str1)
print(ddd)# ['ell']
eee = re.findall(str3,str1)
print(eee)# []
#6.字符串比较
str1 = "Hello"
str2 = "hello"
# 使用 == 运算符检查字符串相等性(区分大小写)
if str1 == str2:
print("字符串相等")
else:
print("字符串不相等")
# 运行结果为: 字符串不相等
# 使用 casefold() 方法比较字符串(不区分大小写)
if str1.casefold() == str2.casefold():
print("忽略大小写后字符串相等")
else:
print("忽略大小写后字符串不相等")
# 运行结果为: 忽略大小写后字符串相等
#7.字符串长度
#使用len()函数。
str1 = 'www.52pojie.cn'
print(len(str1))# 14
# 在 Python 中,数字、英文字母、小数点、下划线以及空格,各占一个字节,
# 一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。
# 汉字在 UTF-8 编码中一般占用 3 个字节 ,在GBK/GB2312 编码中占用 2 个字节。
str1 = '浮生若梦,学好Python!'# 中文逗号,英文感叹号!
print(len(str1.encode()))# 28
# 汉字加中文标点符号共 7 个,占 21 个字节,英文字母和英文的标点符号占 7 个字节,共占用 28 个字节
print(len(str1.encode('gbk')))# 207*2+6=20
#8.字符串转数字
str_num = "123"
num = int(str_num)
print(num)# 123
num_str = "3.14"
num_float = float(num_str)
print(num_float)# 3.14
点赞,总结的很好 图文学习,很好 继续努力加油 以前学习过一段时间,现在忘得差不多了,巩固巩固 图文学习,点赞,很好~ 怎么没有strip的 加油学,关注你了 我刚开始玩python这一块得东西 关注了,一起努力提高咯。 已阅,字符串操作还有很多其它的方法,望继续探索
页:
[1]
2