大小写转换

第一种: 全部大小写转化upper()与lower()

"abc".upper() = "ABC"

"ABC".lower() = "abc"

第二种: 将字符串首部变更大小写title()与capitalize()

"abcde,qweRTY".title() = "Abcde,Qwerty"

"abcde,qweRTY".capitalize() = "Abcde,qwerty"

第三种: 大小写反转swapcase()

"qweASDrtZX".swapcase() = "QWEasdRTzx"

is判断函数

isdecimal():判断给定字符串是否全为数字

isalpha():判断给定的字符串是否全为字母

isalnum():判断给定的字符串是否只含有数字与字母

isupper():判断给定的字符串是否全为大写

islower():判断给定的字符串是否全为小写

istitle():判断给定的字符串是否符合title()

isspace():判断给定的字符串是否为空白符(空格、换行、制表符)

isprintable():判断给定的字符串是否为可打印字符(只有空格可以,换行、制表符都不可以)

isidentifier():判断给定的字符串是否符合命名规则(只能是字母或下划线开头、不能包含除数字、字母和下划线以外的任意字符。)

import string 
# 1234 全是数字 为True
print("1234".isdecimal())

# asdf4 中4是数字不是字母 为False
print("asdf4".isdigit())

# qwe12@ 中@既不是数字 也不是字母为False
print("qwe12@".isalnum())

# asdf全是小写 为True
print("asdf".islower())

# ADS全是大写 为True
print("ADS".isupper())

# Wshd,qwe中 虽然W大写 但是第二个单词qwe中q小写 不符合title()所以为False
print("Wshd,qwe".istitle())

# \n为换行 是空白符 为True
print("\n".isspace())

# \t为制表符 不可打印 为False
print("\t".isprintable())

# qe123 符合命名规则 为True
print("qe125".isidentifier())

字符串填充

居中为center(width),这时候原来的字符串将会在中间,扩充物出现在两边。

居左为ljust(width),l为lef的缩写,源字符串在左边,填充物出现在字符串的右边。

居右为rjust(width), r为right的缩写,源字符串在右边,填充物出现在字符串的左边。

字符串搜索

子字符串位置搜索count(sub[, start[, end]]) 主要对指定字符串搜索是否具有给定的子字符串sub,若具有则返回出现次数。

strat与end代表搜索边界,若无写则代表全字符串搜索

import string 
# 全部字符串内 搜索qwe 出现的次数
print("qwertasdqwezxcqwe".count("qwe"))

# 由于字符串从0开始计数,1为字符串第二个,相当于从w开始
print("qwertasdqwezxcqwe".count("qwe",1))

# 从字符串第 2个开始到第15个截止,共出现qwe的次数
print("qwertasdqwezxcqwe".count("qwe",1,14))

字符串开始与结尾判断

startswith(prefix[, start[, end]])

endswith(suffix[, start[, end]])

两个函数作用相同,判断函数的开始,或者末尾的字符串是否为指定字符串

与之前的搜索相同,可以给字符串加边界,若无则为全字符串搜索

两个函数都属于判断函数,返回结果为True与False

强调:这里的不仅可以输入子字符串,还可以输入元组,若为元组时候只要有一个成真即为True

以下面为例子:

import string 
# 搜索开头位置为qwe 符合条件,为True 
print("qwertasdqwezxcqwe".startswith("qwe"))
# 开头位置为字符串下标为1开始,也就是说开头为wer与qwe不同为False
print("qwertasdqwezxcqwe".startswith("qwe",1))
# 结尾位置为qwe符合条件 为True
print("qwertasdqwezxcqwe".endswith("qwe","asd"))

字符串替换

replace(old, new[, count]):将搜索到的字符串改为新字符串

作为替代函数,旧的字符串与新的字符串是必须输入的

count是可选择输入的参数,代表更改个数。

import string 
s="qweraqwesfgzqweop"
# 将字符串全部的qwe  换为asd
print(s.replace("qwe","asd"))
# 将字符串前两个qwe  换为asd
print(s.replace("qwe","asd",2))
# 将字符串全部的qew  换为asd 没有则输出原字符串
print(s.replace("qew","asd"))

字符串分隔

字符串分割常用函数为partition()和split

partition(sep)对给定字符串进行切割,切割成三部分

首先搜索到字符串sep,将sep之前的部分为一部分,sep本身作为一部分,剩下作为一部分

partition()分为三部分,字符串、空白、空白

import string 
t="qwertyuasdfghjkl"
print(t.partition("yua"))
print(t.partition("asqw"))

另一种常见的函数为split(sep=None, maxsplit=-1)和rsplit(sep=None, maxsplit=-1) split()函数传参两种 sep为切割,默认为空格

字符串拼接

将可迭代数据用字符串连接起来 ,首先理解什么是可迭代数据,简单理解就是字符串string、列表list、元组tuple、字典dict、集合set。

数字或其他类型。而且每个参与迭代的元素必须是字符串类型,不能包含数字或其他类型。

import string 
#字符串类型
a="qwer"
print("_".join(a))

#元组类型
b=("a","b","c","d")
print("=".join(b))

#集合类型
c={"qwe","asd","zxc"}
print(" ".join(c))

字符串修剪

strip([chars]) lstrip([chars]) rstrip([chars])

strip()是为移除指定字符串char,如果没传入参数则为移除空格、制表符、换行符

lstrip()中 l为left缩写,函数表示从左到右遍历

rstrip()中 r为right缩写,函数表示从右边开始遍历

import string 
a="    qweasdzxcrtqwe    "
print(a.strip())  #qweasdzxcrtqwe

b="qweasdzxcrtqwe    "
print(b.lstrip('q')) #weasdzxcrtqwe    

c="   qweasdzxcrtqwe"
print(c.rstrip('qew')) 
#   qweasdzxcrt