python专题字符串操作

一 前言

字符串的操作还是比较重要,知识追寻者在这边做了个学习总结,也就是经常使用到的点,可以说涵盖了字符串大部分的使用方式,足够平时使用;

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 字符串基本操作

2.1 字符串长度

# -*- coding: utf-8 -*-

var = 'zszxz'
print(len(var))

输出

5

2.2 字符串正序

字符串的索引从0开始到长度减1

# -*- coding: utf-8 -*-

var = 'zszxz'
print(var[0])
print(var[4])

输出

z
z

2.3 字符串逆序

字符串的逆序从 -1开始逐渐递减;

# -*- coding: utf-8 -*-

var = 'abcde'
print(var[-1])
print(var[-5])

输出

e
a

2.3 字符串切片

取[0:1] 表示取索引0到索引1的字符串个数(不包括索引1)此时输出a;同理如果是[0:-1],其中-1代表最后一个字符串得位置,此时输出就是abcd

# -*- coding: utf-8 -*-

var = 'abcde'
print(var[0:1])

输出

a

取所有字符串如下

# -*- coding: utf-8 -*-

var = 'abcde'
print(var[:])

输出

abcde

2.4 字符串拼接

使用加号就可以实现字符串拼接

# -*- coding: utf-8 -*-

var = 'abcde'
print(var[:]+'zszxz')

输出

abcdezszxz

2.5 常用转义字符

符号 含义
\(在行尾时) 续行符
\ 反斜杠符号
\' 单引号
\b 退格(Backspace)
\000
\n 换行
\t 横向制表符
\v 纵向制表符
\r 回车
\f 换页

示例制表符默认4个空格

# \t 制表符
print('9999\t888')

输出

9999	888

示例换行

# \n 换行
print("zszxz\n666")

输出

zszxz
666

2.6 字符串重复输出

使用*号乘以次数可以实现字符串重复输出

# -*- coding: utf-8 -*-

var = '知识追寻者'
print(var*2)

输出

知识追寻者知识追寻者

2.7 字符存在性

in 操作,判定子串存在字符串中,存在返回True, 不存在返回False

# -*- coding: utf-8 -*-

var = '知识追寻者'
print('知识'in var)

输出

True

not in 操作,判定子串存在字符串中,存在返回False, 不存在返回True

# -*- coding: utf-8 -*-

var = '知识追寻者'
print('知识' not in var)

2.8 原始字符串

在字符串前面添加 r, 表示原始字符串,意指没有转义的字符串

# -*- coding: utf-8 -*-

var = r'知识追寻者'
print(var)

输出

知识追寻者

2.9 字符串格式化

%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址

示例

# -*- coding: utf-8 -*-

print(' %s are %s' % ('who','you'))

输出

 who are you

其中

%%'输出一个单一的'%'

2.10 三引号

三个引号的字符串可以包含跨行,特殊字符串,比如制表符,单引号,通常用作sql语句和html

# -*- coding: utf-8 -*-

var = """
    select * from zszxz
"""

print(var)

输出

    select * from zszxz

三 常用函数

3.1 去除空白

# -*- coding: utf-8 -*-

has_black = " zszxz  "
# 去除左空白
print(has_black.lstrip())
# 去除右空白
print(has_black.rstrip())
# 去除空白
print(has_black.strip())

输出

zszxz  
 zszxz
zszxz

3.2 标题

title()会使字符串第一个字母转为大写

# -*- coding: utf-8 -*-

var = "zszxz"
# 去除左空白
print(var.title())

输出

Zszxz

3.3 判定结尾字符

指定范围内判定子串的最后的一个字符串

# -*- coding: utf-8 -*-

var = "zszxz"
# 去除左空白
print(var.endswith('z',2,3))

输出

True

3.4 字符串join

传进一个对象,以指定的分割符拼接对象的子项;

# -*- coding: utf-8 -*-

var = ['z','s','z','x','z']
print('look'.join(var))

输出

zlookslookzlookxlookz

3.5 字符串转大小写

# -*- coding: utf-8 -*-

var = 'zszxz'
#转大写
print(var.upper())
#转小写
print(var.lower())

输出

ZSZXZ
zszxz

3.6 字符串编码解码

# -*- coding: utf-8 -*-

var = '知识追寻者'
# 编码
en = var.encode(encoding='UTF-8')
print(en)
# 解码
print(en.decode('UTF-8'))

输出

b'\xe7\x9f\xa5\xe8\xaf\x86\xe8\xbf\xbd\xe5\xaf\xbb\xe8\x80\x85'
知识追寻者

3.7 字符串替换

将知替换为z 1次;

# -*- coding: utf-8 -*-

var = '知识追寻者'
print(var.replace('知','z',1))

输出

z识追寻者
posted @ 2020-05-07 14:44  知识追寻者  阅读(169)  评论(0编辑  收藏  举报