字符串的相关操作

正文共: 3227 字 5 图
预计阅读时间: 9 分钟

每日分享

The problem is not the problem. The problem is your attitude about the problem.

问题不在于问题本身。 问题在于你对这个问题的态度。

小闫语录

事情本身是很客观的存在,是因为人的主观意志附加,才让你我感到喜怒哀乐。有时并不是事情不放过你,而是你不放过你自己。

字符串的相关操作

切片

切片,顾名思义,就是将要操作的对象的一部分或者全部进行截取。字符串、列表和元组都支持切片。如果还是难理解,那么就类比咱们切黄瓜,不要尾部,我们会将尾部切掉,这个过程就是切片,从切的位置开始,到最尾部结束。

切片的语法:

[起始:结束:步长]
# 如:
>>>'hello world'[0:2:1]
>>> he

截取是从起始位置的下标开始,到结束位置下标的前一位停止。是左闭右开区间,结束位置不包含。

步长表示的是选取间隔。例如:从开始将 1234以步长为2取值,取到 13

有一种特殊的情况,就是是步长为 -1的时候,代表字符串从后向前,按步长为1进行取值。

# 将字符串倒置
s = 'hello world'
print(s[::-1])
------结果-------
dlrow olleh

常见操作

我们先定义一个要操作的字符串:

mystr = 'hello world Ethanyan note'

接下来的操作,如果没有指定mystr,那么默认使用此字符串。

join

在列表list中每个元素后面插入字符串str,构造出一个新的字符串:

str.join(list)

例如:

list = ['hello', 'world', 'Ethanyan', 'note']
str = '-'
print(str.join(list))
>>> hello-world-Ethanyan-note

partition

把mystr以str分割成三部分:str前,str和str后。

mystr.partition(str)

rpartition:和 partition类似,不过是从右边开始。

例如:

mystr.partition('world')
>>>('hello ', 'world', ' Ethanyan note')

isspace

如果 mystr 中只包含空格,则返回 True;否则返回 False。

mystr.isspace()
>>> False

isalnum

如果 mystr 所有字符都是字母或数字则返回True;否则返回False。

mystr.isalnum()

例如:

mystr.isalnum()
>>>False

因为mystr中有空格

isdigit

如果 mystr 只包含数字则返回True;否则返回 False。

mystr.isdigit() 

例如:

mystr.isdigit()
>>>False

isalpha

如果 mystr 所有字符都是字母则返回 True;否则返回False。

mystr.isalpha()

例如:

mystr.isalpha()
>>>False

splitlines

按照行分割,返回一个包含各行元素的列表:

mystr.splitlines()

例如:

mystr = 'hello\nworld'
print(mystr.splitlines())
>>> ['hello', 'world']

\n代表的是换行。

strip

删除字符串两端的空白字符:

>>> mystr = '   hello world  '
>>> mystr.strip()
'hello world'

rstrip:和 strip类似,是删除字符串右端的空白字符。

>>> mystr.rstrip()
'   hello world'

只删除了右侧的空白字符,左侧的没变。

lstrip:和 strip类似,是删除字符串左端的空白字符。

>>> mystr.lstrip()
'hello world  '

center

使用空格将字符串填充至长度width的新字符串,并将原字符串元素居中显示:

mystr.center(width)

例如:

>>> mystr = 'hello world Ethanyan note'
>>> mystr.center(50)
'            hello world Ethanyan note             '

ljust

使用空格将字符串填充至长度width的新字符串,并将原字符串元素左对齐:

mystr.ljust(width) 

rjust:和 ljust类似,只不过是右对齐。

mystr.rjust(width)  

例如:

>>> mystr.ljust(30)
'hello world Ethanyan note     '

upper

转换 mystr 中的小写字母为大写

mystr.upper()    

例如:

>>> mystr.upper()
'HELLO WORLD ETHANYAN NOTE'

lower:与 upper类似,将所有的大写字母变小写。

>>> a = 'HELLO WORLD ETHANYAN NOTE'
>>> a.lower()
'hello world ethanyan note'

startwith

检查字符串中是否是以str开头,如果是返回True,否则返回False:

mystr.startswith(str)

例如:

>>> mystr.startswith('hello')
True

endswith:与 startwith类似,检查的是否以str结尾:

mystr.endswith(str)

title

把字符串的每个单词首字母大写:

>>> a = 'hello python'
>>> a.title()
'Hello Python'

capitalize

把字符第一个字符大写:

mystr.capitalize()

例如:

>>> mystr.capitalize()
'Hello world ethanyan note'

split

以str为分隔符切片mystr,如果maxsplit有指定的值,那么就仅仅分割maxsplit个子字符串:

mystr.split(str,maxsplit)

例如:

>>> mystr.split(' ',2)
['hello', 'world', 'Ethanyan note']

replace

把mystr中的str1替换成str2,如果count指定,则替换不超过count次:

mystr.replace(str1,str2,count)

例如:

>>> mystr.replace('hello','yan',1)
'yan world Ethanyan note'

count

返回mystr中start到end之间str出现的次数:

mystr.count(str,start,end)

例如:

>>> mystr.count('o',0,30)
3

find

检测str是否在mystr中,如果是返回开始的索引值,否则返回-1。

mystr.find(str,start,end)

例如:

>>> mystr.find('Ethan',0,30)
12

rfind:和 find类似,只不过是从右侧开始检测。

mystr.rfind(str,start,end)

index

同 find,但是如果检测的str不存在,会报错:

mystr.index(str,start,end)

例如:

>>> mystr.index('Ethanyan',0,10)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

rindex:和 index类似,不过是从右侧开始检测。

mystr.rindex(str,start,end)

优质文章推荐:

公众号使用指南

redis操作命令总结

前端中那些让你头疼的英文单词

Flask框架重点知识总结回顾

项目重点知识点详解

难点理解&面试题问答

flask框架中的一些常见问题

团队开发注意事项

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

重点内容回顾-DRF

Django相关知识点回顾

美多商城项目导航帖

项目重要技术点介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值