专栏首页小闫笔记字符串的相关操作

字符串的相关操作

正文共: 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相关知识点回顾

美多商城项目导航帖

项目重要技术点介绍

本文分享自微信公众号 - 全栈技术精选(Pythonnote),作者:小闫同学啊

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 每天 3 分钟,小闫带你学 Python(十)

    昨天的文章『每天 3 分钟,小闫带你学 Python(九)』讲了字符串的一些概念,有字符串的输出和输入,以及下标索引和切片。下标索引即取出字符串的某一个元素,而...

    小闫同学啊
  • 每天 3 分钟,小闫带你学 Python(十四)

    There is never enough time to do everything, but there is always enough time to ...

    小闫同学啊
  • Hadoop学习笔记(二)之HDFS

    面对各行各业日益增长的数据量,普通的机器无论在存储空间还是管理能力上都显得力不从心。既然单台机器的资源有限,那么增加机器的方式是否可行?答案是肯定的,于是乎出现...

    小闫同学啊
  • 补充:python中的字符串的操作(大多数都用不着)

    如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作

    用户7886150
  • python基础知识

    【注】在python2中要使用中文必须,添加#coding=utf-8,python3中可以不加

    foochane
  • python工具类,实现将一个list集合转为字符串,并且这个字符串里面加特定的字符

    一天不写程序难受
  • 残酷的移动互联网:只有一个入口远远不够

    随着3G/4G和智能手机的普及,移动互联网已经来到我们身边,也给我们带来了无比的便利。然而,身处移动互联网的企业们都普遍比较焦虑,这是因为移动互联网颠覆了很多...

    腾讯研究院
  • 于小戈电商小程序月入千万的秘密!如何收割第一波小程序电商红利?

    “选择大于努力,我很庆幸,在我快破产时,改变我们这家小公司生死的转机是微信小程序”。大眼睛买买买商店小程序创始人于小戈说。 大眼睛买买买商店小程序上线当晚,在只...

    用户1745481
  • Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

      通过前面两篇博客,我们介绍了Linux系统的权限管理。Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这...

    IT可乐
  • 用ext3grep恢复删除的文件

    一个同事不小心使用rm -rf命令误删了自己的代码,这意味着一个月的工作丢失了(一个月没有备份过代码,看来他以前一定没经历计算机崩溃的灾难)。我们知道rm命令...

    py3study

扫码关注云+社区

领取腾讯云代金券