python字符串处理

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”,在内存中实际存储如下:

图片描述

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

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 <module>
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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python字符串处理是指对字符串进行各种操作和处理的技术。Python提供了丰富的字符串处理方法和函数,可以方便地进行字符串的拼接、切片、查找、替换等操作。 以下是一些常用的Python字符串处理方法和函数: 1. 字符串拼接:使用"+"运算符可以将两个字符串拼接在一起,例如:`str1 + str2`。 2. 字符串切片:可以通过索引来获取字符串中的部分内容。例如,`str[1:5]`表示获取从索引1到索引4的子字符串。 3. 字符串长度:使用`len()`函数可以获取字符串的长度,例如:`len(str)`。 4. 字符串查找:可以使用`find()`、`index()`等方法来查找字符串中某个子串的位置。例如,`str.find(sub_str)`返回子串在字符串中第一次出现的位置。 5. 字符串替换:使用`replace()`方法可以将字符串中的某个子串替换为另一个子串。例如,`str.replace(old_str, new_str)`将字符串中的old_str替换为new_str。 6. 字符串分割:使用`split()`方法可以将字符串按照指定的分隔符进行分割,返回一个列表。例如,`str.split(separator)`将字符串按照separator进行分割。 7. 字符串大小写转换:使用`lower()`、`upper()`等方法可以将字符串转换为小写或大写形式。例如,`str.lower()`将字符串转换为小写形。 8. 字符串格式化:使用`format()`方法可以将变量的值插入到字符串中的占位符位置。例如,`"Hello, {}!".format(name)`将name的值插入到字符串中的占位符位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值