字符串查询操作
功能 方法名称 作用 查询方法 index() 查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出valueError 查询方法 rindex() 查找子串sunstr最后一次出现的位置,如果查找的子串不存在时,则抛出valueError 查询方法 find() 查找子串sunstr第一次出现的位置,如果查找的子串不存在时,返回-1 查询方法 rfind() 查找子串sunstr最后·一次出现的位置,如果查找的子串不存在时,返回-1
s= 'hello,hello'
print ( s. index( 'lo' ) )
print ( s. rindex( 'lo' ) )
print ( s. find( 'lo' ) )
print ( s. rfind( 'lo' ) )
字符串的大小写转换操作的方法
功能 方法名称 作用 大小写转换 upper() 把字符串中所有字符都转成大写字母 大小写转换 lower() 把字符串中所有字符都转成小写字母 大小写转换 swapcase() 把字符串中所有大写字母都转换成小写字母,把所有小写都转换成大写 大小写转换 capitalize() 把第一个字符转换为大写,把其余字符转换为小写 大小写转换 title() 把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换为小写
字符串内容对齐操作的方法
功能 方法名称 作用 字符串对齐 center() 居中对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串 字符串对齐 ljust() 左对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串 字符串对齐 rjust() 右对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串 字符串对齐 zfill() 右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串长度,返回字符串本身
s= 'hello,python'
'''居中对齐'''
print ( s. center( 20 , '*' ) )
'''左对齐'''
print ( s. ljust( 20 , '*' ) )
print ( s. ljust( 10 ) )
print ( s. ljust( 20 ) )
'''右对齐'''
print ( s. rjust( 20 , '*' ) )
print ( s. rjust( 10 ) )
'''右对齐,使用0填充'''
print ( s. zfill( 20 ) )
字符串劈分操作的方法
功能 方法名称 作用 字符串的劈分 split() 1.从字符串的左边开始劈分,默认劈分字符是空格字符串,返回的值都是一个列表 2.以通过参数sep指定劈分字符串是劈分符 3.通过参数maxsplit指定劈分字符串时最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分 字符串的劈分 rsplit() 1.从字符串的右边开始劈分,默认劈分的字符是空格字符串,返回的值都是一个列表 2.以通过参数sep指定劈分字符串是劈分符 3.通过参数maxsplit指定劈分字符串时最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分
s= 'hello world python'
lst= s. split( )
print ( lst)
s1= 'hello|world|python'
print ( s1. split( sep= '|' ) )
print ( s1. split( sep= '|' , maxsplit= 1 ) )
判断字符串操作的方法
功能 方法名称 作用 判断字符串的方法 isidentifier() 判断指定的字符串是不是合法的标识符 判断字符串的方法 isspace() 判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符) 判断字符串的方法 isalpha() 判断指定的字符串是否全部由字母组成 判断字符串的方法 isdecimal() 判断指定字符串是否全部由十进制的数字组成 判断字符串的方法 isnumeric() 判断指定的字符串是否全部由数字组成 判断字符串的方法 isalnum() 判断指定字符串是否全部由字母和数字组成
s= 'hello,python'
print ( '1.' , s. isidentifier( ) )
print ( '2.' , 'hello' . isidentifier( ) )
print ( '3.' , '张三' . isidentifier( ) )
print ( '4.' , '张三_123' . isidentifier( ) )
print ( '5.' , '\t' . isspace( ) )
print ( '6.' , 'abc' . isalpha( ) )
print ( '7.' , '张三' . isalpha( ) )
print ( '8.' , '123' . isdecimal( ) )
print ( '9.' , '123四' . isdecimal( ) )
print ( '10.' , '123' . isnumeric( ) )
print ( '11.' , '123四' . isnumeric( ) )
print ( '12.' , '12a3' . isalnum( ) )
字符串的替换与合并
功能 方法名称 作用 字符串的替换 replace 第一个参数指定被替换的子串,第二个参数指定替换字串的字符串,该方法返回替换后得到的字符串,替换前的字符串不发生变化,调用该方法时可以通过第三个参数指定最大替换次数 字符串的合并 join 将列表或元组中的字符串合并成一个字符串
s= 'hello,python'
print ( s. replace( 'python' , 'java' ) )
s1= 'hello,python,python,python'
print ( s. replace( 'python' , 'java' , 2 )
lst= [ 'hello' , 'java' , 'python' ]
print ( '|' . join( lst) )
print ( '' . join( lst) )
lst= ( 'hello' , 'java' , 'python' )
print ( '' . join( t) )
print ( '*' . join( 'python' ) )
字符串的比较操作
运算符:>,<,>=,<=,==,!= 比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较第二个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中所有后续字符将不再被比较 比较原理:两个字符进行比较时,比较的是其ordinal value(原始值),调用内置函数ord可以得到指定字符的ordinal value。与内置函数ord对应的是内置函数chr,调用内置函数chr时指定ordinal value可以得到其对应的字符
print ( 'apple' > 'app' )
print ( 'apple' > 'banana' )
print ( ord ( 'a' ) , ord ( 'b' ) )
print ( chr ( 97 ) , chr ( 98 ) )
'''==与is的区别'''
字符串的切片操作
字符串是不可变类型 不具备增、删、改等操作 切片操作将产生新的对象
s= 'hello,world'
s1= s[ : 5 ]
s2= s[ 6 : ]
s3= '!'
newStr= s1+ s3+ s2
print ( newStr)
格式化字符串
格式化字符串的两种方式
%作占位符 我的名字叫:%s,今年%d岁了 { }作占位符
name= '张三'
age= 20
print ( '我叫%s,今年%d岁' % ( name, age) )
print ( '我叫{0},今年{1}岁' . format ( name, age) )
print ( f'我叫 { name} ,今年 { age} 岁' )
print ( '%10d' % 99 )
print ( '%.3f' % 3.1415926 )
print ( '%10.3f' % 3.1415926 )
print ( 'hellohello ' )
print ( '{0:.3}' . format ( 3.1415926 ) )
print ( '{:.3f}' . format ( 3.1415926 ) )
print ( '{:10.3f}' . format ( 3.1415926 ) )
字符串的编码转换
s= '天涯共此时'
print ( s. encode( encoding= 'GBK' ) )
print ( s. encode( encoding= 'UTF-8' ) )
byte= s. encode( encoding= 'GBK' )
print ( byte. decode( encoding= 'GBK' ) )