字符串的相关操作

简介: 字符串的相关操作

每日分享

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,构造出一个新的字符串:

  1. str.join(list)

例如:

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

partition

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

  1. mystr.partition(str)

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

例如:

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

isspace

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

  1. mystr.isspace()
  2. >>>False

isalnum

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

  1. mystr.isalnum()

例如:

mystr.isalnum()
>>>False

因为mystr中有空格

isdigit

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

  1. mystr.isdigit()

例如:

mystr.isdigit()
>>>False

isalpha

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

  1. mystr.isalpha()

例如:

mystr.isalpha()
>>>False

splitlines

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

  1. 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的新字符串,并将原字符串元素居中显示:

  1. mystr.center(width)

例如:

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

ljust

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

  1. mystr.ljust(width)

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

  1. mystr.rjust(width)  

例如:

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

upper

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

  1. 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:

  1. mystr.startswith(str)

例如:

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

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

  1. mystr.endswith(str)

title

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

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

capitalize

把字符第一个字符大写:

  1. mystr.capitalize()

例如:

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

split

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

  1. mystr.split(str,maxsplit)

例如:

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

replace

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

  1. mystr.replace(str1,str2,count)

例如:

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

count

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

  1. mystr.count(str,start,end)

例如:

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

find

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

  1. mystr.find(str,start,end)

例如:

1. >>> mystr.find('Ethan',0,30)
2. 12
rfind:和 find类似,只不过是从右侧开始检测。
1. mystr.rfind(str,start,end)

index

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

  1. 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类似,不过是从右侧开始检测。

  1. mystr.rindex(str,start,end)
相关文章
|
2月前
|
C语言
深入理解字符串引用与操作
深入理解字符串引用与操作
15 0
|
4月前
|
JavaScript 前端开发 API
|
25天前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
|
3月前
操作字符串的函数
C中有大量操作字符串的函数。
16 2
|
9月前
|
索引 Python
字符串的相关方法和操作
字符串的相关方法和操作
63 0
|
11月前
|
索引
字符串方法
字符串方法
70 0
|
JavaScript 前端开发
使用字符串方法
使用字符串方法
59 0
|
存储 安全 C语言
C/C++: 字符串的一些操作
字符串是一种非常重要的数据类型,但是C语言不存在显式的字符串类型,C语言中的字符串都以字符串常量的形式出现或存储在字符数组中。同时,C 语言提供了一系列库函数来对操作字符串,这些库函数都包含在头文件 string.h 中。
178 0
关于VS2017调试时,字符数组显示"字符串中的字符无效"问题
关于VS2017调试时,字符数组显示"字符串中的字符无效"问题
619 0
删除字符串中字符最少的字符并返回
删除字符串中字符最少的字符并返回