python字符串操作

时间:2022-03-02 23:55:40

一、字符串方法

1.字符串的分割

s.split() 默认是按照空格分割

s.split(',') 按照逗号分割(返回的是一个列表,并没有改变原来的字符串)

?
1
2
3
4
>>> s= "如今最好,别说来日方长,时光难留,只有一去不返"
>>> print(s.split(","))
['如今最好', '别说来日方长', '时光难留', '只有一去不返']
>>>

2.字符串的查找,替换

s.index(‘a') 找到字符a返回下标,多个时返回第一个;不存在的字符报错
s.rindex(‘a') 找到最后一个字符a返回下标,不存在的字符报错

s.find(‘a') 找到字符a返回下标,多个时返回第一个;不存在的字符返回-1
s.rfind(‘a') 找到最后一个字符a返回下标,多个时返回第一个;不存在的字符返回-1

?
1
2
3
4
5
6
7
8
9
10
11
12
>>> s = "123456654321"
>>> s.index("2")
 
>>> s.rindex("2")
 
>>> s.index("10")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> s.find("10")
-1
>>>

max,min :求最小最大值(ASCII码)

?
1
2
3
4
5
6
>>> s = "123456654321"
>>> max(s)
'6'
>>> min(s)
'1'
>>>

s.capitalize() 首字母大写

s.count(‘x') 查找某个字符在字符串里面出现的次数

s.center(n,'*') 把字符串放中间,两边用 *补齐,n为数字,表示从开头到字符串末尾距离为n

?
1
2
3
4
5
6
7
8
9
10
>>> s = "today is a good day"
>>> s.capitalize()
'Today is a good day'
 
>>> s.count("o")
 
 
>>> s.center(50,"*")
'***************today is a good day****************'
>>>

s.replace(oldstr, newstr) 字符串替换

?
1
2
3
4
>>> s = "今天是晴天"
>>> s.replace("晴天","雨天")
'今天是雨天'
>>>

s.format() 字符串格式化

s.format_map(d) 字符串格式化,传进去的是一个字典

s.lower() 将字符串转为大写

s.lower() 将字符串转为小写

s.strip() 清除字符串二侧的空格

s.join() 拼接字符串 ,可以是列表,字典等

s.startswith(n) 判断字符串是不是以字符串n开头,返回bool值
s.endswitch(n) 判断字符串是不是以字符串n结尾,返回bool值

?
1
2
3
4
5
6
>>> s = "123456"
>>> s.startswith("1")
True
>>> s.startswith("2")
False
>>>

s.encode(“utf-8”) utf-8对字符串进行编码

注意:编码,解码用的编码方式要一样

s.decode(“utf-8”) utf-8对字符串进行解码

3.字符串的判断

(返回的全是bool类型True,False):

s.isalunm() 判断字符串s是否为大小写字母,数字组成
s.isalpha() 判断字符串s是否为字母组成
s.isasscii() 判断字符串s是否为ASCII码中的符号
s.isdecima() 判断字符串s是否为数字
s.isdigit() 判断字符串s是否为数字
s.isidentifier() 判断有效符号
s.islower() 判断字符串s是否全部小写
s.isupper() 判断字符串s是否全部大写
s.isprintable()
s.isspace() 判断字符串s是否有空格
s.istitle() 判断字符串s是否为标题(每一个单词首字母大写)

二、切片操作(列表,元组也可以)

1.索引

字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。

获取单个字符(字符串下标从0开始计)

s 表示字符串名字,index(字符串下标) 表示索引值。
s[index]
s[index:] 表示从下标为index的截取到最后

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> s = "python字符串的索引"
>>> s[5]
'n'
 
>>> s[5:]
'n字符串的索引'
 
>>> s[8]
'串'
 
>>> s[-1]
'引'
 
>>> s[::-1]
'引索的串符字nohtyp'

Python 有正索引和负索引:

  • 正索引: 当以字符串的左端(字符串的开头)为起点时,索引是从 0 开始计数的;字符串的第一个字符的索引为 0,第二个字符的索引为 1,第三个字符串的索引为 2 ……
  • 负索引:当以字符串的右端(字符串的末尾)为起点时,索引是从 -1 开始计数的;字符串的倒数第一个字符的索引为 -1,倒数第二个字符的索引为 -2,倒数第三个字符的索引为 -3…,这样字符串反转就很方便了
?
1
2
3
>>> s = "python字符串的索引"
>>> s[::-1]
'引索的串符字nohtyp'

2.切片有三个参数[start:end :step]

  • 第一个参数start从哪里开始切片
  • 第二个参数end切到哪里结束
  • 第三个参数step步长表示隔步长取一次
?
1
2
3
4
5
6
7
s = "python字符串的索引"
>>> s[1:5]
'ytho'
>>> s[1::3]
'yo符索'
>>> s[len(s):0:-1]
'引索的串符字nohty'   #从最后向前切片,依次减小。实现反转

到此这篇关于python字符串操作的文章就介绍到这了,更多相关python字符串内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_53049621/article/details/119256618