非常全面的python字符串相关处理方法(一)

简介: 非常全面的python字符串相关处理方法(一)

字符串相关操作

字符串的相关函数

#capitalize 字符串首字母大写 
strvar = "how are you"
res = strvar.capitalize()
print(res)

#title 每个单词的首字母大写 
strvar = "how old are you"
res = strvar.title()
print(res)

#*upper 将所有字母变成大写
strvar = "How Old Are You"
res = strvar.upper()
print(res)

#*lower 将所有字母变成小写 
res = strvar.lower()
print(res)

#*swapcase 大小写互换 
strvar = "How old Are You"
res = strvar.swapcase()
print(res)

#*len 计算字符串的长度 
strvar = "python32真热"
res = len(strvar)
print(res)

#*count 统计字符串中某个元素的数量 ,不存在返回0,不报错
"""count(字符,[开始值,结束值])"""
strvar = "真热真热呀"
#res = strvar.count("真")     # 2
#res = strvar.count("热",2)   # 1  只有一个数,是开始位置
#res = strvar.count("热",2,3) # 只有真这个字符 没有热
print(res)

#*find 查找某个字符串第一次出现的索引位置  (推荐)
"""find(字符,[开始值,结束值])"""
strvar = "To be or not to be that is a question"
res = strvar.find("to")
res = strvar.find("be",4)
#如果find 返回的是 -1 代表没找到
res = strvar.find("be",4,10) # 4 ~ 9
print(res)

打印出第一个to中 t出现的下标

#*index 与 find 功能相同 find找不到返回-1, index找不到数据直接报错。不推荐使用
"""
res = strvar.index("be",4,10) 
print(res)
"""


#*startswith 判断是否以某个字符或字符串为开头 
"""
startswith(字符,[开始值,结束值])
endswith(字符,[开始值,结束值])
"""
strvar = "To be or not to be that is a question"
res = strvar.startswith("To")
res = strvar.startswith("To",10)
print(res)

#*endswith 判断是否以某个字符或字符串结尾 
res = strvar.endswith("question")
res = strvar.endswith("is",-14,-11) #  is    只能正向表示
print(res)

#is系列

#*isupper 判断字符串是否都是大写字母 ,有其他文字,特殊符号不影响,只看英文字母是否大写

strvar = "HOW  A  YOU"
res = strvar.isupper()
print(res)

#*islower 判断字符串是否都是小写字母

strvar = "asdf - as"
res = strvar.islower()
print(res)

#*isdecimal 检测字符串是否以数字组成 必须是纯数字,有小数点都不算纯数字。如果要判断是否是小数,可用isinstance()

strvar = "abcdefg"
strvar = "2134234.123"
strvar = "2134234"
res = strvar.isdecimal()
print(res)

#isdigit 判断字符串是否是数字组成,接受二进制字节流

#isnumeric 检测字符串是否以数字组成,中文的数字比如"四",也被认为是数字

#isalnum 判断字符串是否由数字,字母,汉字组成

#isalpha 判断字符串是否由字母和文字组成

#isspace 判断字符串是否由空白符组成。空串不是空白符

#split 按某字符将字符串分割成列表(默认字符是空格)

split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)

1、split()函数

语法:str.split(str=“”,num=string.count(str))[n]

参数说明:

str:表示为分隔符,默认为空格,但是不能为空(‘’)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素

num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量

[n]:表示选取第n个分片

注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略

返回的是列表,丢失分割字符

分隔后取得值的类型是str,就是通过列表的下标取值

strvar = "you can you up no can no bb"
lst = strvar.split()
strvar = "you#can#you#up#no#can#no#bb"
lst = strvar.split("#")
print(lst)

截取字符串中想要的字段

#join 按某字符将列表拼接成字符串(容器类型都可)

join()将多个序列中的元素合并成一个新的字符串

join(): 连接字符串数组。将字符串、元组、列表、集合中的元素以指定的字符(分隔符)连接生成一个新的字符串

语法:

子串或字符.join(多个字符串组成的序列)

lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
strvar = " ".join(lst)
strvar = "#".join(lst)
print(strvar)

集合顺序会乱,不建议用

#replace 把字符串的旧字符换成新字符

“”“字符串.replace(‘旧字符’,‘新字符’[, 限制替换的次数])”“”

字符串序列.replace(“原字符串”,“新字符串”,修改的次数)

如果查到出现的次数,就从左到右替换该次数,省略不写次数,全部替换,次数超过了,也不报错,全部替换

replace有返回值,返回值就是修改后的字符串

但是,字符串是不可以修改的类型,它并没有修改以前的str

并不会将原有字符串修改,将替换后的结果赋值给新字符串,才得到修改后的字符串

strvar = "范冰冰爱不爱我,爱我,不爱我,爱我,不爱我"
res = strvar.replace("不爱我","爱我")
#选择替换的次数
res = strvar.replace("不爱我","爱我",1)
print(res)

#strip 默认去掉首尾两边的空白符

“”“空白符 空格 \n \t \r … “””

Python 的 strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

strip() 方法语法

str 是字符串,chars 是指定的字符。

str.strip([chars]);

参数:

chars – 移除字符串头尾指定的字符序列。可以指定去除的内容

返回值:

返回移除字符串头尾指定的字符后生成的新字符串。

如下,去除字符串两边的"景"

strvar = "     周润发  "
res = strvar.strip()
print(strvar)
print(res)

#zfill 填充字符串(默认填充0,原字符串右对齐)

①语法说明:

str.zfill(width)

其中,str表示这里要对一个字符串类型string进行操作,如果是整型、浮点型这样的数字类型,要先通过str()函数转化为字符串,才可以进行相关的操作;

       width表示进行补零之后的字符串的长度,如果补零后的长度小于或等于原字符串的长度,那么字符串将不会产生任何的变化

Python中的ljust()和rjust()方法属于字符串格式控制方面的函数。这两个方法按照指定的字符串宽度和特定字符来调整字符串宽度,若字符串不足指定的宽度就用指定的字符来填充剩余的宽度。

一、ljust()和rjust()语法格式

str.ljust(width [, fillchar] )

str.rjust(width [, fillchar] )

上面中str即为要操作的字符串;

width 是指定的填充后的总宽度,若 width 小于或等于原字符串的宽度,则原样返回原字符串;

fillchar是可选参数,即要填充的字符,默认为ASCII空格,即相当于按下键盘中的空格键产生的空格。

这两个方法执行完会产生一个新的字符串,不影响原字符串的内容。

(1)ljust()方法使原字符串位于新字符串的左端,不足指定的宽度,则在右侧填充指定的字符:字符串左齐

(2)rjust()方法使原字符串位于新字符串的右端,不足指定的宽度,则在左侧填充指定的字符:字符串右齐

#ljust 填充字符串,原字符居左 (默认填充空格)

#rjust 填充字符串,原字符居右 (默认填充空格)

指定的宽度不足,就打印原字符串

*#center 填充字符串,原字符居中 (默认填充空格)

“”“center(字符长度,填充符号)”“”

strvar = "赵世超"
res = strvar.center(10)
#res = strvar.center(10,"*")
print(res)

print结束符:

Python的print()自带end="\n"这个换行结束符,所以,两个print会换行展示,

我们也可以根据需要自定义结束符

print('输出的内容', end="\n")
print("hello", end="...")
print("world!")
print("hello", end="\t")
print("python!")
输出结果
hello...world!
hello    python!

python字符串:

在python中引号引起来的就是字符串,双引号,单引号,三引号都可以

三引号支持回车换行,输出的也是换行的

字符串是用来存储少量数据

字符串是不可变类型

单引号有其他用途时,需要转义

c = 'I\'m Tom'
print(c)

#(3)字符串跨行拼接 \

str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \
"1122334"

字符串输入用input

输入功能:

input(“提示信息”)

当程序执行到input时,等待用户输入,输入完成后才能继续向下执行

在python中,input接收用户输入后,一般存储到变量,方便调用

在python中,input会把接收的任意输入的数据都当做字符串处理

索引:

索引(下标) 通过索引可以快速精确的定位到某个元素

name = "meat"
meat 每一个字母叫做一个元素
#0123       从左向右代表每一个字母
#-1-2-3-4    从右向左每一个字母
print(meat[1])  打印出meat字符串的第二个字符

负索引

非常全面的python字符串相关处理方法(二):https://developer.aliyun.com/article/1495597

相关文章
|
1天前
|
Python
【Python操作基础】——字符串
【Python操作基础】——字符串
|
1天前
|
Python
Python字符串和字节不要混淆str.format()和bytes.format()
【5月更文挑战第6天】Python字符串和字节不要混淆str.format()和bytes.format()
4 1
|
1天前
|
Python
Python字符串和字节使用正确的编码/解码
【5月更文挑战第6天】Python字符串和字节使用正确的编码/解码
6 2
|
1天前
|
存储 Python
python字符串和字节明确数据类型
【5月更文挑战第6天】python字符串和字节明确数据类型
6 2
|
2天前
|
Python
Python避免在字符串和字节之间混淆
【5月更文挑战第5天】Python避免在字符串和字节之间混淆
13 3
|
4天前
|
数据安全/隐私保护 开发者 Python
【Python 基础】检查字符串是否只包含数字和字母?
【5月更文挑战第8天】【Python 基础】检查字符串是否只包含数字和字母?
|
4天前
|
Python
【Python 基础】如何将一个字符串转化为全大写和全小写?
【5月更文挑战第8天】【Python 基础】如何将一个字符串转化为全大写和全小写?
|
4天前
|
机器学习/深度学习 存储 人工智能
python 字符串的三种定义方式
python 字符串的三种定义方式
9 1
|
6天前
|
Python Perl
Python中的字符串分析:判断字符串中是否包含字母
Python中的字符串分析:判断字符串中是否包含字母
10 0
|
6天前
|
C语言 Python
【Python 基础】如何进行字符串插值?
【5月更文挑战第6天】【Python 基础】如何进行字符串插值?