python删除字符串开头数字_python字符串处理

python字符串处理

1、修改字符串的大小写

方法

含义

title()

将每个单词首字母大写

upper()

将每个字母都大写

lower()

将每个字母都小写

capitalize()

将字符串首字母大写,其余字符小写

实例展示:

name="zhao li Xiang"

print("单词首字母大写前:%s"%name)

name.title()

print("单词首字母大写后(不用name接收):%s"%name)

name=name.title()

print("单词首字母大写后(用name接收):%s"%name)

print("*"*50)

name="zhao li Xiang"

print("所有字母都大写前:%s"%name)

name.upper()

print("所有字母都大写后(不用name接收):%s"%name)

name=name.upper()

print("所有字母大写后(用name接收):%s"%name)

print("*"*50)

name="zhao li Xiang"

print("所有字母都小写前:%s"%name)

name.lower()

print("所有字母都小写后(不用name接收):%s"%name)

name=name.lower()

print("所有字母都小写后(用name接收):%s"%name)

print("*"*50)

name="zhao li Xiang"

print("字符串首字母大写,其它字符小写前:%s"%name)

name.capitalize()

print("字符串首字母大写,其它字符小写后(不用name接收):%s"%name)

name=name.capitalize()

print("字符串首字母大写,其它字符小写后(用name接收):%s"%name)

控制台打印结果

单词首字母大写前:zhao li Xiang

单词首字母大写后(不用name接收):zhao li Xiang

单词首字母大写后(用name接收):Zhao Li Xiang

**************************************************

所有字母都大写前:zhao li Xiang

所有字母都大写后(不用name接收):zhao li Xiang

所有字母大写后(用name接收):ZHAO LI XIANG

**************************************************

所有字母都小写前:zhao li Xiang

所有字母都小写后(不用name接收):zhao li Xiang

所有字母都小写后(用name接收):zhao li xiang

**************************************************

字符串首字母大写前:zhao li Xiang

字符串首字母大写后(不用name接收):zhao li Xiang

字符串首字母大写后(用name接收):Zhao li xiang

不难看出:无论是上面三个方法中的哪一个,都只是返回改变后的结果,对操作的字符串对象没有任何影响!

将所有字母大写或者小写,可用来判断用户输入是使用,可以做到相应的人性化关怀(大小写都可以)

2、合并(拼接字符串)

使用+号来合并

print("Mark"+"帅哥🤗")

打印结果:

Mark帅哥🤗

3、使用制表符或换行符来添加空白

t:制表符

n:换行符

print("Mark\t帅哥")

print("Mark\n帅哥")

控制台打印结果:

Mark 帅哥

Mark

帅哥

4、删除空白

lstrip():删除字符串开头空白

rstrip():删除字符串尾部空白

strip():删除字符串前后字空白

注意:上面两个函数都只是返回删除空白后的字符串,对原有字符串没有改变

实例:

name=" Mark "

name.lstrip()

print("*"+name+"*")

name.rstrip()

print("*"+name+"*")

print("*"+name.lstrip().rstrip()+"*")

print("*"+name.strip()+"*")

打印结果:

* Mark *

* Mark *

*Mark*

*Mark*

5、下标与切片

下标:字符串可以看出是一个字符数组,而在这个数组的位置就是对应字符的下标

切片:是对操作对象截取一部分的操作。字符串、列表、元组都支持切片

切片的语法:[起始下标:结束下标:步长]

如果有字符串“abcdef”,在内存中实际存储如下:

f0673e8d4a6d936815f64d6931b8a446.png

可以通过下标获取指定字符:

name="abcdef"

print(name[0])

print(name[1])

print(name[2])

print(name[3])

打印结果:

a

b

c

d

切片操作:

name="abcdef"

print(name[:3])

print(name[1:3])

print(name[3:])

print(name[1:5:2])

#从第二个字符到最后第二个字符

print(name[1:-1])

#倒序

print(name[::-1])

打印结果:

abc

bc

def

bd

bcde

fedcba

6、find、rfind:查找指定字符串是否存在于目标字符串

语法:目标字符串.find(需要查询的指定字符串[开始查询的下标,结束查询的下标]):从左边开始查找

目标字符串.find(需要查询的指定字符串[开始查询的下标,结束查询的下标:从右边开始查找

存在就会返回下标,不存在就返回-1

实例:

name="abcdefg"

print(name.find("cd"))

print(name.rfind("cd"))

print(name.find("gg"))

print(name.rfind("gg"))

控制台打印结果:

2

2

-1

-1

7、index、rindex:查找指定字符串是否存在于目标字符串

与find的不同点是如果没有查询到,index方法会报错

实例:

name="abcdefg"

print(name.index("cd"))

print(name.rindex("cd"))

print(name.index("gg"))

print(name.rindex("gg"))

打印结果:

2

Traceback (most recent call last):

2

File "/Users/zhaolixiang/Desktop/python/test1/venv/字符串index.py", line 4, in

print(name.index("gg"))

ValueError: substring not found

8、count:返回指定字符串在目标字符串出现的次数

语法:目标字符串.count(指定字符串[,开始下标,结束下标])

实例:

name="mark mark mark"

print(name.count("ar"))

print(name.count("ar",0,5))

print(name.count("ar",5))

打印结果:

3

1

2

9、replace:替换字符串

语法:mystr.replace(str1,str2[,count])

将mystr中的str1替换为str2,如果count指定,则替换次数不超过count次。

这个方法也是只影响返回值,不对mystr对象进行改变。

实例:

name="mark mark mark"

print(name.replace("ar","br"))

print(name.replace("ar","br",0))

print(name.replace("ar","br",1))

打印结果:

mark mark mark

mbrk mbrk mbrk

mark mark mark

mbrk mark mark

10、split分割字符串

语法:mystr.split(str[,count])

把mystr依靠str进行分割,如果count指定,则最多分割count个字符串

实例:

name="mark mark mark"

print(name.split("ar"))

print(name.split("ar",0))

print(name.split("ar",2))

打印结果:

['m', 'k m', 'k m', 'k']

['mark mark mark']

['m', 'k m', 'k mark']

11、startswith、endswith判断是否以指定字符串开发或结束

实例:

name="Mark 帅哥"

print(name.startswith("Mar"))

print(name.startswith("mar"))

print(name.endswith("哥"))

print(name.endswith("帅"))

控制台打印结果:

True

False

True

False

12、ljust、rjust、center:返回一个元字符左对齐或右对齐或居中,用空白填充至指定宽度的字符串

实例:

name="mark"

print("*"+name.ljust(2)+"*")

print("*"+name.ljust(6)+"*")

print("*"+name.rjust(6)+"*")

print("*"+name.center(6)+"*")

打印结果:

*mark*

*mark *

* mark*

* mark *

13、partition、rpartition:将目标字符串安装指定字符串分割为三部分

实例:

name="hello world world mark"

print(name.partition("world"))

print(name.rpartition("world"))

打印结果:

('hello ', 'world', ' world mark')

('hello world ', 'world', ' mark')

14、splitlines按行分割字符串

实例:

name="hello\nworld\nworld\nmark"

print(name.splitlines())

打印结果:

['hello', 'world', 'world', 'mark']

15、isalpha:判断字符串是否都是字符

实例:

print("mark".isalpha())

print("mark123".isalpha())

print("mark帅哥".isalpha())

print("mark 帅哥".isalpha())

打印结果:

True

False

True

False

16、isdigit:判断字符串是否都是数字

实例:

print("mark".isdigit())

print("123".isdigit())

print("123帅哥".isdigit())

打印结果:

False

True

False

17、isalnum:判断字符串是否都是字符或数字

实例:

print("mark".isalnum())

print("mark123".isalnum())

print("123".isalnum())

print("mark 帅哥".isalnum())

打印结果:

True

True

True

False

18、isspace:判断字符串是否只包含空格

实例:

print("mark".isspace())

print("mark 123".isspace())

print(" ".isspace())

打印结果:

False

False

True

19、join:每个字符后面插入指定字符

实例:

list=["my","name","is","mark"]

print(" ".join(list))

print("_".join(list))

打印 结果:

my name is mark

my_name_is_mark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值