python字符串相关操作命令(自学用)

Python学习笔记—字符串

  • 一、字符串常用操作
    • 1.1 字符串的查找
    • 1.2 字符串的大小写操作
    • 1.3 字符串劈分操作
    • 1.4 字符串对齐操作
    • 1.5 字符串的替换操作
    • 1.6 字符串的判断操作
  • 二、字符串的比较操作
  • 三、字符串的切片操作
  • 四、格式化字符串
  • 五、字符串编码转换

一、字符串常用操作

1.1 字符串的查找

str='hello,python,python,python,world'
print(str.index('python'))
print(str.index('lo'))
print(str.rindex('on'))
print(str.find('or'))
print(str.rfind('py'))
6
3
24
28
20

1.2 字符串的大小写操作

str='hello,python,python,python,world'
str2='HelLo,Python,PYthon,PYTHON,wORld'
print(str.upper()) #全部大写
print(str2.lower()) #全部小写
print(str2.swapcase()) #大写变小写,小写变大写
print(str2.capitalize()) #字符串首字母大写
print(str.title()) #字符串内所有单词首字母大写
HELLO,PYTHON,PYTHON,PYTHON,WORLD
hello,python,python,python,world
hELlO,pYTHON,pyTHON,python,WorLD
Hello,python,python,python,world
Hello,Python,Python,Python,World

1.3 字符串的劈分操作

str='hello,python,python,python,world'
str2='hello|python|python|python|world'
str3='HelLo|Python|PYthon|PYTHON|wORld'
print(str.split(sep=','))
print(str2.split('|',maxsplit=2))
print(str3.split('|'))
print(str2.rsplit('|',maxsplit=3))
['hello', 'python', 'python', 'python', 'world']
['hello', 'python', 'python|python|world']
['HelLo', 'Python', 'PYthon', 'PYTHON', 'wORld']
['hello|python', 'python', 'python', 'world']

1.4 字符串的对齐操作

str='hello,world'
str1='hello'
str2='python'
print(str.center(20,'*'))
print(str1.rjust(20,'*'))
print(str1.ljust(20,'0'))
print(str2.zfill(20)) # 右对齐,空格用0填充
****hello,world*****
***************hello
hello000000000000000
00000000000000python

1.5 字符串的替换操作

str='hello,python,python,python,world'
str1='nice to see you'
print(str.replace('python','java'))
print(str.replace('python','java',2))
print('||'.join([str,str1]))
print('.'.join('python')) #单个字符串不加括号和逗号,会被拆分成单个字母然后连接
print('.'.join(('python',)))
hello,java,java,java,world
hello,java,java,python,world
hello,python,python,python,world||nice to see you
p.y.t.h.o.n
python

1.6 字符串判断操作

  • 判断是否合法标识符
  • 判断是否全部由空白组成
  • 判断是否全部字母组成
  • 判断是否全是十进制数字(阿拉伯数字)
  • 判断是否全是数字(包括汉字数字,罗马数字)
  • 判断是否全是由数字和字母组成
s1='张三abc'
s2='张三%'
s3=end='\t'
s4='hello,python,python,python,world'
s5='1234'
s6='123四'
s7='123四伍陆拾'
s8='张三'
s9='彭于晏六'
s10='迪丽热巴12'
s11='Pamela00'
print(s1,s1.isidentifier())
print(s2,s2.isidentifier())
print(s3,s3.isspace())
print(s4,s4.isalpha())
print(s5,s5.isdecimal())
print(s6,s6.isdecimal())
print(s5,s5.isnumeric())
print(s6,s6.isnumeric())
print(s7,s7.isnumeric())
print(s8,s8.isalnum())
print(s9,s9.isalnum())
print(s10,s10.isalnum())
print(s11,s11.isalnum())
张三abc True
张三% False
	 True
hello,python,python,python,world False
1234 True
123四 False
1234 True
123四 True
123四伍陆拾 True
张三 True
彭于晏六 True
迪丽热巴12 True
Pamela00 True

二、字符串的比较操作

字符串的比较原理:两个不同的字符串进行比较,是逐个字符进行对比。所比的值是字符所对应的ordinal value,可以用命令ord()来获取,而要想获取ordinal value所对应的字符,可以用chr()命令来获取。

a='apple'
b='banana'
c='cat'
c1='cash'
d1='doc'
d2='document'
print(ord('a'),ord('b'))
print(a>b) #97>98 ==>False
print(ord('t'),ord('s'))
print(c>c1) #c=c a=a t(116)>s(115)
print(d1>d2)
97 98
False
116 115
True
False

三、字符串的切片操作

str='hello,python,python,python,world'
a=str.index('world') #找到world的起始索引
b=str.index(',p') #找到hello的终止索引
str1=str[:b]
str2=str[a:]
print('.'.join([str1,str2]))
print(str[1:20:2]) #起始索引为1,终止索引为19,步长为2
hello.world
el,yhnpto,

四、格式化字符串

nam='吴彦祖'
hobby='打篮球'
coun='中国'
age=42
height=183.4
print('我叫%s,今年%d岁,我的身高是%10.1f,我来自%s,我的爱好是%s' %(nam,age,height,coun,hobby))  #使用%占位
nam2='Pamela'
hobby2='yoga'
coun2='America'
age2=28
height2=168.3
print('My name is {}, and I`m {} years old now. I live in {:3}. My height is {:.1f} cm and I really enjoy {}.'.format(nam2,age2,coun2,height2,hobby2))  #使用{}占位
我叫吴彦祖,今年42岁,我的身高是     183.4,我来自中国,我的爱好是打篮球
My name is Pamela, and I`m 28 years old now. I live in America. My height is 168.3 cm and I really enjoy yoga.

五、字符串编码

s='滕王阁序'
print(s.encode(encoding='GBK'))
print(s.encode(encoding='UTF-8'))

b=s.encode(encoding='GBK')
c=s.encode(encoding='UTF-8')
print(b.decode(encoding='GBK'))
print(c.decode(encoding='GBK'))  #用什么编码就得用什么解码,否则会出现乱码
print(c.decode(encoding="UTF-8"))

b'\xeb\xf8\xcd\xf5\xb8\xf3\xd0\xf2'
b'\xe6\xbb\x95\xe7\x8e\x8b\xe9\x98\x81\xe5\xba\x8f'
滕王阁序
婊曠帇闃佸簭
滕王阁序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值