原标题:python字符串操作常见的函数
String 字符串类型
字符串类型就是文字类型,声明一个字符串类型有三种方式:
单引号:
变量 = '内容'
双引号:
变量 = "内容"
三引号:
变量 = '''内容'''
变量 = """内容"""
如何选择声明字符串的方式:
单引号:内容中包含大量双引号时,适合使用单引号声明字符串
双引号:内容中包含大量单引号时,适合使用双引号声明字符串
三引号:内容中同时包含单双引号,适合使用三引号声明字符串
2.3 字符串的输出
name = "xiaoming"
position = "北京"
print("姓名为:%s"%name)
print("地址%s"%position)
2.4 字符串的输入
input():通过它能够完成从键盘获取数据,将获取到的数据保存到一个变量中,方便后期计算
注意:
input()函数获取数据,都是以字符串的形式进行保存
uesrName = input("请输入用户名:")
password = input("请输入密码:")
print("用户名为:%s,密码为:%s"%(uesrName,password))
2.5 下标和切片(重点)
2.5.1 下标
定义:
下标----》编号,
格式:
变量名[下标]
生活中的场景:
乘火车:对应的位置
列表与元祖支持下标索引,
name = "abcdef"
a b c d e f
name[0] name[1]
name = "abcdef"
print(name[0])
print(name[1])
print(name[2])
print(name[3])
print(name[4])
print(name[5])
注意:
如果想去除部分字符,可以通过下标的方法,(python中的下标从0开始)
2.5.2 切片
定义:
指对操作的对象截取其中的一部分的操作----》切片 ,字符串/列表/元祖都支持
格式:
[起始:结束:步长]
注意:
选取的区间属于左闭右开型,从“起始”位开始,到“结束”位的前一位结束
#String为例
name = "abcdef"
print(name[0:3])#0,1,2
print(name[0:5])#0,1,2,3,4
print(name[3:5])#3,4
print(name[2:])#下标从2开始到最后结束
print(name[1:-1])#-1表示倒数第二位
print(name[:3])#第一个参数不写,表示从起始位置开始
print(name[::2])#ace
print("-------")
print(name[5:1:2])#""
print("------")
print(name[1:5:2])#bd
print(name[::-2])#fdb 如果步长为负数,表示从后往前
print(name[5:1:-2])#
2.6 字符串中常见的运算
#字符串的连接:+
str1= '你的对象是:\n'
str2 = '波多野结衣\n'
str3 = '你天天biu__biu__都瘦了\n'
str4 = str1+str2+str3
print(str4)
#输出重复字符串
str4 = "haha"
str5 = str4 * 3
print(str5)
str6 = "heihei"
print(str6[2])
print(str6[:3])
print(str6[3:])
2.7 转义字符(重点)
转义字符: 通过某种特定的格式使得字符的意义发生改变,这就是转义字符,常见转义字符如下:
转义字符 作用描述 使用率
\ 续行符 *
\\ 反斜杠符号(\) ***
\' 单引号 *****
\" 双引号 *****
\a 响铃
\b 退格(backspace)
\e 转义
\000 空
\n 换行 *****
\v 纵向制表符
\t 横向制表符 *****
\r 回车 *****
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
元字符串: 在任意字符串之前添加字母r或者R,那么当前字符串中所有转义字符在使用时都不会进行转义操作,这就是元字符串,正则表达式中常见格式。
strval = R'锄禾日当午,\n汗滴\\禾下土,\n谁知\r盘中餐,\n丽丽\t皆辛苦\n'
2.8 字符串中的常见操作(重点)
如有一个字符串
myStr = "hello world"
2.8.1 find
定义:
检测str是否包含在myStr中,如果是返回开始元素的索引值,否则返回-1
格式:
myStr.find(str,start,end):
start:开始查找的位置
end:结束查找的位置
aa = myStr.find("e")#如果里面start和end不写表示从头检查到尾
print(aa)
bb = myStr.find("w",0,7)#左闭右开型
print(bb)
2.8.2 index
定义:
跟find方法一样,只不过如果str不再myStr中,或直接报错
格式:
myStr.index(str,start,end)
cc = myStr.index("w")
print(cc)
dd = myStr.index("q")
print(dd)
2.8.3 count
定义:
返回str在start和end直接在myStr中出现的次数
格式:
myStr.count(str,start,end)
"""
aa = myStr.count("l",0,6)
print(aa)
2.8.4 replace
replace:
定义:
把myStr中str1(旧元素)替换为str2(新元素),如果指定了count,则替换不超过count次
格式:
myStr.replace(str1,str2,count)
"""
aa = myStr.replace("l","qqq",2)
print(aa)
2.8.5 spilt
"""
spilt:
定义:
分割,以str为分隔符切片myStr,
返回的是列表(分割后的每一个元素作为列表中的元素(String)
格式:
myStr.spilt("",maxspilt)
maxspilt:表示最大的切片数
"""
myStr = "aa bb cc dd"
aa = myStr.split(" ",2)
print(aa)
2.8.6 capitalize
capitalize:
定义:
把字符串中的第一个大写
格式:
myStr.capitalize()
"""
aa = myStr.capitalize()
print(aa)
2.8.7 title
"""
title:
定义:
把字符串中的每一个单词的首字母大写
格式:
myStr.title()
"""
aa = myStr.title()
print(aa)
2.8.8 swapcase
"""
swapcase
定义:
转换字符串中字母的大小写,小变大,大变小
"""
myStr = "HwwH YYyqq"
aa = myStr.swapcase()
print(aa)
2.8.9 startswith
startwith
定义:
检查字符串是否以object开头,如果是返回True,反之返回Flase
格式:
myStr.startswith(obj)
"""
myStr = "aa hello world"
aa = myStr.startswith("h")
print(aa)
2.8.10 endswith
endswith
定义:
检查字符串是否以object结尾,如果是返回True,反之返回Flase
格式:
myStr.endswith(obj)
"""
myStr = "aa hello world "
aa = myStr.endswith(" ")
print(aa)
2.8.11 lower
"""
lower
定义:
转换myStr中所有大写字符为小写
格式:
myStr.lower()
"""
myStr = "HELLO WORLD"
aa = myStr.lower()
print(aa)
2.8.12 upper
"""
upper
定义:
转换myStr中所有小写字符为大写
格式:
myStr.upper()
"""
aa = myStr.upper()
print(aa)
2.8.13 ljust
ljust:
定义:
返回一个原字符串左对齐,使用空格填充长度width,形成一个新的字符串
格式:
myStr.ljust(width)
width:表示字符串的长度
注意:
如果长度没有原始的字符串的长度长,默认使用字符串的长度
"""
aa = myStr.ljust(5)
print(aa)
2.8.14 rjust
"""
rjust:
定义:
返回一个原字符串右对齐,使用空格填充长度width, 形成一个新的字符串
格式:
myStr.rjust(width)
width: 表示字符串的长度
注意:
如果长度没有原始的字符串的长度长,默认使用字符串的长度
"""
aa = myStr.rjust(5)
print(aa)
2.8.15 center
"""
center:
定义:
返回一个原字符串居中,使用空格填充长度width, 形成一个新的字符串
格式:
myStr.center(width)
width: 表示字符串的长度
注意:
如果长度没有原始的字符串的长度长,默认使用字符串的长度
"""
aa = myStr.center(20)
print(aa)
2.8.16 zfill
"""
zfill:
定义:
返回一个长度为width的字符串,源字符串右对齐,前面补0
格式:
zfill(width)
"""
aa = myStr.zfill(40)
print(aa)
2.8.17 lstrip
"""
lstrip:
定义:
删除myStr左边的空白字符
格式:
myStr.lstrip()
"""
myStr = " hello world"
aa = myStr.lstrip()
print(aa)
2.8.18 rstrip
"""
rstrip:
定义:
删除myStr右边的空白字符
格式:
myStr.rstrip()
"""
myStr = " hello world "
aa = myStr.rstrip()
print(aa)
2.8.19 strip
"""
strip:
定义:
删除myStr两端的空白字符
格式:
myStr.strip()
"""
myStr = " hello world "
aa = myStr.strip()
print(aa)
2.8.20 rfind
"""
rfind
定义:
类似与find函数,从右边开始查找,如果找到返回元素的开始索引,反之返回-1
格式:
myStr,rfind(str,start,end)
"""
aa = myStr.rfind("qq")
print(aa)
2.8.21 rindex
"""
rindex:
定义:
类似与index(),从右往左找,如果找到返回该元素的楷书索引,反之直接报错
格式:
myStr.rindex(str,start,end)
"""
aa = myStr.rindex("qq")
print(aa)
2.8 22 partition
"""
partition:
把myStr以str分割成三部分 str前 str str后
返回的数据类型为元祖
格式:
myStr.partition(str)
"""
aa = myStr.partition("ll")
print(aa)
2.8.23 rpartition
"""
rpartition:
把myStr以str分割成三部分 str前 str str后
返回的数据类型为元祖
格式:
myStr.rpartition(str)
"""
myStr = "hello world python python"
aa = myStr.partition("h")
print(aa)
2.8.24 spiltlines
"""
spiltlines:
定义:
按照行进行分割,返回一个包含每行作为元素的列表
格式:
myStr.spiltlines()
"""
myStr = "hello \nworld \npython \npython"
aa = myStr.splitlines()
print(aa)
2.8.25 isalpha
"""
isalpha
定义:
如果myStr所有的字符都是字母,返回True,反之返回False
格式:
myStr.isalpha()
"""
myStr = "hello1"
aa = myStr.isalpha()
print(aa)
2.8.26 isdigit
"""
isdigit
定义:
如果myStr所有的字符都是数字,返回True,反之返回False
格式:
myStr.isdigit()
"""
myStr = "123"
aa = myStr.isdigit()
print(aa)
2.8.27 isalnum
"""
isalnum
定义:
如果myStr中所有的字符是字母或者数字,返回True,返回false
格式:
myStr.isalnum()
"""
myStr = "122haha*heihei"
aa = myStr.isalnum()
print(aa)
2.8.28 isspace
isspace
定义:
如果myStr中只包含空格,返回True,返回False
格式:
myStr.isspace()
"""
myStr = " "
aa = myStr.isspace()
print(aa)
2.8.29 join
"""
join
定义:
myStr中每一个字符后面都会插入str,构造出一个新的字符串(不包含最后一个)
格式:
myStr.join(str)
"""
myStr = "==="
str = "hello"
li = ["haha","heihei","hahei"]
print(myStr.join(str))
2.8.30 eval
"""
eval:
定义:
价格字符串str当成有效的表达式来求值并返回结果
格式:
eval(str)
"""
num1 = eval("123")
print(type(num1))
print(num1)
print(eval("+123"))
print(eval("-123"))
print(eval("12+3"))
print(eval("12-3"))
# print(eval("a123"))
# print(eval("12+a3"))
print(eval("1e+20"))
2.8.31 len
len:
定义:
返回字符串的长度(字符个数)
格式:
len(str)
"""
myStr = "hello world"
print(len(myStr))
2.8.32 chr
"""
chr:
定义:
函数使用一个范围range(256)内(0~255)整数作为参数,返回对应的字符
ACSII码
格式:
chr(0~255)
"""
print(chr(65))
print(chr(97))
print(chr(48))
2.8.33 unichr
"""
unichr:
定义:
unichr和chr一样,区别再买与unichr返回的是unicode(将整数返回成unicode字符)
注意:
如果是配对usc2的unicode,它的允许范围是range(65536),0x0000-0xFFFF
如果是配对usc4的unicode,它的允许范围是range(1114112)
如果提供的参数不在允许的范围内,则会报valueError异常
注意:
如果想要使用unichr,需要导入unichr模块中的idna
"""
from idna import unichr
print(unichr(97))
print(unichr(1114112))
2.8.34 ord
"""
ord:
ord()函数是chr()函数和unichr()函数的配对函数,他是以一个字符作为参数(字符的长度默认为1),返回的是ASCII或者unicode编码的数值,如果所给的unicode字符超出了python定义的长度,会引发一个异常typeError
ord("一个字符")
"""
print(ord("a"))
print(ord("A"))
print(ord("你"))
print(ord("好"))
# print(ord("你好"))
print(ord("ab"))返回搜狐,查看更多
责任编辑: