一、字符串的下标
[root@node5 data]# cat test.py
#!/usr/bin/python3
str1 = 'helloworld'
print(str1[0])
print(str1[1])
print(str1[2])
[root@node5 data]# ./test.py
h
e
l
二、字符串的切片
#!/usr/bin/python3
str1 = 'helloworld'
print(str1[0:3])
print(str1[:3])
print(str1[3:])
[root@node5 data]# ./test.py
hel
hel
loworld
三、字符串的常见操作
1.获取字符串的长度len()
#!/usr/bin/python3
str1 = 'helloworld'
print(len(str1))
2.获取字符的下标find() index()
#!/usr/bin/python3
str1 = 'helloworld'
print(str1.find('d'))
print(str1.index('d'))
[root@node5 data]# ./test.py
9
9
3.find和index的区别:
find没有找到字符返回-1
index没有找到字符直接报错
四、字符串查找和判断
1.判断字符串是以什么开头
#!/usr/bin/python3
str1 = 'helloworld'
print(str1.startswith('h'))
print(str1.startswith('hello'))
[root@node5 data]# ./test.py
True
True
#!/usr/bin/python3
str1 = 'helloworld'
print(str1.startswith('x'))
print(str1.startswith('H'))
[root@node5 data]# ./test.py
False
False
2.判断字符串是以什么结尾
#!/usr/bin/python3
str1 = 'helloworld'
print(str1.endswith('d'))
print(str1.endswith('ld'))
print(str1.endswith('x'))
[root@node5 data]# ./test.py
True
True
False
五、替换字符串replace
#!/usr/bin/python3
str1 = 'helloworld'
str1 = str1.replace('l','x')
print(str1)
[root@node5 data]# ./test.py
hexxoworxd
六、字符串分割
1.split
#!/usr/bin/python3
str1 = 'http://www.baidu.com'
print(str1.split('//'))
[root@node5 data]# ./test.py
['http:', 'www.baidu.com']
七、字符串大写小
1.upper将字符串转为全大写
2.lower将字符串转为全小写
#!/usr/bin/python3
t1 = 'hello'
print(t1.upper())
t2 = 'HELLO'
print(t1.lower())
[root@node5 data]# ./test.py
HELLO
hello
3.title 每个单词首字母大写
#!/usr/bin/python3
t = 'hello world'
print(t.title())
[root@node5 data]# ./test.py
Hello World
八、空格处理
1.ljust
让字符串以指定的宽度显示,和C中的print %5s 效果一样
#!/usr/bin/python3
t = 'hello world'
#字符串显示为50个字符串宽度,不够用空格补齐
print(t.ljust(50))
#字符串显示为50个字符串宽度,不够用*补齐
print(t.ljust(50,'*'))
[root@node5 data]# ./test.py
hello world
hello world***************************************
2.center 字符串居中显示
#!/usr/bin/python3
t = 'hello world'
print(t.center(50,'*'))
[root@node5 data]# ./test.py
*******************hello world********************
3.strip 去除字符串中的空格
注意:只能去掉开头或者末尾连续的空格,中间的不可以
#!/usr/bin/python3
t = 'hel l o w o r l d'
print(t.strip())
t1 = ' hello world '
print(t1.strip())
[root@node5 data]# ./test.py
hel l o w o r l d
hello world
八、字符串格式化输出format
#!/usr/bin/python3
name = 'zhangsan'
age = 20
print('名字 = %s' % name)
print('名字 = %s,年龄 = %d' % (name,age))
[root@node5 data]# ./test.py
名字 = zhangsan
名字 = zhangsan,年龄 = 20
但是这种以上方式需要考虑传递的数据类型,而format不需要考虑
1.直接传递
#!/usr/bin/python3
print('大家好我的叫{},我今年{}岁了'.format('zhangsan',20))
[root@node5 data]# ./test.py
大家好我的叫zhangsan,我今年20岁了
2.根据位置传递
#!/usr/bin/python3
print('大家好我的叫{0},我今年{1}岁了'.format('zhangsan',20))
[root@node5 data]# ./test.py
大家好我的叫zhangsan,我今年20岁了
3.对应传递
#!/usr/bin/python3
print('大家好我的叫{name},我今年{age}岁了'.format(name='zhangsan',age=20))
[root@node5 data]# ./test.py
大家好我的叫zhangsan,我今年20岁了