python字符串常用内置方法

定义:

字符串是一个有序的字符的集合,用与存储和表示基本的文本信息。

python中引号中间包含的就是字符串。

# s1='hello world'
# s2="hello world"
# s3="""hello world"""
# s3='''hello world'''

补充: 

  • 字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l\thf'

  • unicode字符串与r连用必需在r前面,如name=ur'l\thf'

      #>>> print('a\nb')
    a
    b
    #>>> print(r'a\nb')
    a\nb

字符串连接

示例:

>>> x = 'hello world!'

>>> x = x[:6] + 'tom'

>>> x

'hello tom'

内置函数len()

len() 方法返回对象(字符串、列表、元组等)长度或项目个数。

语法:

len(s)

s-----对象

>>> str ='hello world'
>>> len(str)
11
>>> L = [1,2,3,4,5]
>>> len(L)
5
>>>

strip()

strip英文翻译:脱掉,剥夺

strip()默认移除字符串两边的空白。只是返回处理后的副本,原来的值不变。

>>> x='    tom     '
>>> x
' tom '
>>> x.strip()
'tom'
>>>

也可以自己指定要去除的目标:

>>> x='ssssstomsssss'
>>> x.strip('s')
'tom'
>>> x='#######tom####'
>>> x.strip('#')
'tom'

同类的还有lstrip(),rstrip()

>>> x='#######tom####'
>>> x.lstrip('#')
'tom####'
>>> x.rstrip('#')
'#######tom'
>>>

capitalize()

capitalize()返回首字母大写的副本,不改变原来的值:

>>> x='hello,world'
>>> x.capitalize()
'Hello,world'

title()

title()返回标题样式的副本(单词首字母大写),不改变原来的值:

>>> x='hello,world'
>>> x.title()
'Hello,World'

upper()

upper()返回所有字母大写的副本,不改变原来的值:

>>> x='hello,world'
>>> x.upper
'HELLO,WORLD'

lower()

lower()返回所有字母小写的副本,不改变原来的值:

>>> x='Hello,World'
>>> x.lower()
'hello,world'
>>>

center()

center()返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。居中显示

语法:

str.center(width[,fillchar])

width------字符串的总宽度

fillchar-----填充字符

>>> x='hello'
>>> x.center(15,'#')
'#####hello#####'
>>>

count()

count()方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。空格也是字符。

语法:

str.count(sub,start,end)

sub-----搜索的子字符串

start----字符串开始搜索的位置,默认为第一个字符,第一个字符索引值为0

end-----字符串中结束搜索的位置。默认为字符串的最后一个位置。

>>> x='hel lo love'
>>> x.count(' ')
2
>>> x.count('l',0,4)
1

endswith()

endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。

语法:

str.endswith(suffix,start,end)

suffix----该参数可以是一个字符串或者是一个元素

start----字符串开始的位置

end------字符中结束的位置

>>> x='/bin/nologin'
>>> x.endswith('n')
True
>>> x.endswith('nologin')
True
>>>

startswith()

startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

语法:

str.startwith(str,strbegin,strend)

str-----检测的字符串。

strbegin----可选参数用于设置字符串检测的起始位置。

strend----可选参数用于设置字符串检测的结束位置

>>> x.startswith('/')
True
>>> x.startswith('/bin')
True
>>>

find()

find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。(没找到就返回-1)

语法:

str.find(str,begin,end)

str-----指定检索的字符串

begin----开始索引,默认为0

end-----结束索引,默认为字符串的长度

>>> x='/etc/sshd/ssh.conf'
>>> x.find('/')
0
>>> x.find('/',1,4)
-1
>>> x.find('.conf')
13
>>>
>>>> x.find('.cont')
-1
>>>

format()

format()和%格式化功能一样,基本语法是通过 {} 和:来代替以前的%。format函数可以接受不限个参数,位置可以不按顺序。

示例:

>>> msg='Nname:{},age:{},sex:{}'
>>> print(msg.format('tom',18,'male'))
Nname:tom,age:18,sex:male >>> msg='Nname:{x},age:{y},sex:{z}'
>>> print (msg.format(x='tom',y=18,z='male'))
Nname:tom,age:18,sex:male >>> url='https://movie.douban.com/top250?start={page}&filter=&type='
>>> print(url.format(page=50))
https://movie.douban.com/top250?start=50&filter=&type=
>>>

字符串切片

str[索引初始:索引结束:索引步长]

>>> print (x[0])
h
>>> print (x[0:3])
hel
>>> print (x[0:5:2])
hlo
>>> print (x[::-1])
dlrow olleh
>>>
>>> print (x[:-1])
hello worl
>>> print (x[1:])
ello world
>>>

简而言之,分片操作的实现需要提供两个索引作为边界,第一个索引元素包含在分片内,第二个则不包含在分片内。

对于分片还可以使用更大的步长,步长为负数的时候,从尾部开始取数据

isdigit()

digit英文解释:数字

isdigit()判断字符串内是否全是数字。如果字符串只包含数字则返回 True 否则返回 False。

>>> x='12345'
>>> x.isdigit()
True
>>> x='3.1415'
>>> x.isdigit()
False
>>>

isalpha()

isalpha() 方法检测字符串是否只由字母组成。如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

 >>> x='adswqeq     '
>>> x.isalpha()
False
>>> x='a'
>>> x.isalpha()
True
>>>

index()

index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

>>> x='/etc/sshd/ssh.conf'
>>> x.index('/')
0
>>> x.index('/',1,4)
Traceback (most recent call last):
File "<pyshell#90>", line 1, in <module>
x.index('/',1,4)
ValueError: substring not found
>>> x.index('.conf')
13
>>> x.index('.cont')
Traceback (most recent call last):
File "<pyshell#92>", line 1, in <module>
x.index('.cont')
ValueError: substring not found
>>>

replace()

replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法:

str.replace(old,new,max)

old----将被替换的子字符串

new----新字符串,用于替换old子字符串

max----指定替换次数

>>> x='this is test'
>>> x.replace('is','are')
'thare are test'
>>> x.replace('is','are',1)
'thare is test'
>>> x.replace('is','are',2)
'thare are test'
>>> x.replace('is','are',3)
'thare are test'
>>>

split()

split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串

语法:

str.split('分隔符',分隔次数)

分隔符默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

>>> x='root:x:0:0::/root:/bin/bash'
>>> x.split()
['root:x:0:0::/root:/bin/bash']
>>> x.split(':')
['root', 'x', '0', '0', '', '/root', '/bin/bash']
>>> x.split(':',2)
['root', 'x', '0:0::/root:/bin/bash']
>>> x.split(':',3)
['root', 'x', '0', '0::/root:/bin/bash']
>>>

isspace()

isspace() 方法检测字符串是否只由空格组成。

语法:

str.isspace()

如果字符串中只包含空格,则返回 True,否则返回 False.和将一段空字符串使用strip处理后判断是否等于''一样。

>>> x = '        '
>>> x.isspace()
True
>>> x.strip() == ''
True
>>>

swapcase()

swapcase() 方法用于对字符串的大小写字母进行转换。

语法

str.swapcase()

返回大小写字母转换后生成的新字符串。

>>> x = '''it's good!'''
>>> x.swapcase()
"IT'S GOOD!"
>>> x = 'Ab'
>>> x.swapcase()
'aB'
>>>

ljust()和rjust()

ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

语法:

str.ljust(width,fillchar)

width-----指定字符串长度

fillchar----填充字符,默认为空格

>>> x = 'tom'
>>> x.ljust(10,'#')
'tom#######'

rjust() 方法返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

示例:

>>> x = 'tom'
>>> x.rjust(10,'#')
'#######tom'
>>>
序号 方法及描述
1

capitalize()
将字符串的第一个字符转换为大写

2

center(width, fillchar)

返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

3

count(str, beg= 0,end=len(string))

返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

4

bytes.decode(encoding="utf-8", errors="strict")

Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。

5

encode(encoding='UTF-8',errors='strict')

以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

6

endswith(suffix, beg=0, end=len(string))
检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

7

expandtabs(tabsize=8)

把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。

8

find(str, beg=0 end=len(string))

检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

9

index(str, beg=0, end=len(string))

跟find()方法一样,只不过如果str不在字符串中会报一个异常.

10

isalnum()

如果字符串至少有一个字符并且所有字符都是字母或数字则返
回 True,否则返回 False

11

isalpha()

如果字符串至少有一个字符并且所有字符都是字母则返回 True,
否则返回 False

12

isdigit()

如果字符串只包含数字则返回 True 否则返回 False..

13

islower()

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

14

isnumeric()

如果字符串中只包含数字字符,则返回 True,否则返回 False

15

isspace()

如果字符串中只包含空格,则返回 True,否则返回 False.

16

istitle()

如果字符串是标题化的(见 title())则返回 True,否则返回 False

17

isupper()

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

18

join(seq)

以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

19

len(string)

返回字符串长度

20

ljust(width[, fillchar])

返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

21

lower()

转换字符串中所有大写字符为小写.

22

lstrip()

截掉字符串左边的空格

23

maketrans()

创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

24

max(str)

返回字符串 str 中最大的字母。

25

min(str)

返回字符串 str 中最小的字母。

26

replace(old, new [, max])

把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

27

rfind(str, beg=0,end=len(string))

类似于 find()函数,不过是从右边开始查找.

28

rindex( str, beg=0, end=len(string))

类似于 index(),不过是从右边开始.

29

rjust(width,[, fillchar])

返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

30

rstrip()

删除字符串字符串末尾的空格.

31

split(str="", num=string.count(str))

num=string.count(str))
以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串

32

splitlines([keepends])

按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

33

startswith(str, beg=0,end=len(string))

检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

34

strip([chars])

在字符串上执行 lstrip()和 rstrip()

35

swapcase()

将字符串中大写转换为小写,小写转换为大写

36

title()

返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

37

translate(table, deletechars="")

根据 str 给出的表(包含 256 个字符)转换 string 的字符,
要过滤掉的字符放到 deletechars 参数中

38

upper()

转换字符串中的小写字母为大写

39

zfill (width)

返回长度为 width 的字符串,原字符串右对齐,前面填充0

40

isdecimal()

检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

python字符串常用内置方法的更多相关文章

  1. python字符串处理内置方法一览表

    python字符串处理内置方法一览表   序号 方法及描述 1 capitalize()将字符串的第一个字符转换为大写 2 center(width, fillchar) 返回一个指定的宽度 widt ...

  2. python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05

    迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种 ...

  3. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  4. Python学习day07 - Python进阶(1) 内置方法

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  5. 迭代器,for循环本质,生成器,常用内置方法,面向过程编程

    一.迭代器 1.迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 2.迭代器给你提供了一种不依赖于索引取值的方式 3.可以迭代取值的对象:字符串,列表,元组,字典 ...

  6. Python反射和内置方法(双下方法)

    Python反射和内置方法(双下方法) 一.反射 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发 ...

  7. python列表常用内建方法

    python列表常用内建方法: abc = ['a',1,3,'a'] #abc.pop(1) #删除索引1的值.结果['a', 3] #abc.append([123]) #结果:['a', 1, ...

  8. day06-数字类型、字符串类型内置方法

    目录 数字类型内置方法 字符串类型内置方法 有序 or 无序 可变 or 不可变 数字类型内置方法 1. int()强制类型转化成整型 age_str = '18' # 定义字符串 age = int ...

  9. python学习day6 for循环 字符串的内置方法

    1.for循环 和while相比 l=[1,2,3] i=0 while i <len(l) print(l[i]) i+=1 l=['a','b','c'] for item in l: pr ...

随机推荐

  1. BZOJ3676: [Apio2014]回文串(回文树)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3676 这叫模版题TAT #include<cstring> #include< ...

  2. Bellman-Ford 求含负权最短路

    该算法详解请看   https://www.cnblogs.com/tanky_woo/archive/2011/01/17/1937728.html 单源最短路   当图中存在负权边时 迪杰斯特拉就 ...

  3. 关于JAVA实现二维码以及添加二维码LOGO

    今天在公司,完成了之前的任务,没有什么事做,就想鼓捣一下二维码,因为之前没有接触过,我就去翻看了几本书,也基本完成了二维码的实现,以及添加二维码的LOGO. 现在绘制二维码一般都使用的是谷歌的zxin ...

  4. [国嵌笔记][033-034][设置svc模式]

    [设置svc模式] 设置CPU为SVC模式 1.因为初始化系统需要有很高的权限,SVC模式具有该权限,所以首先要使系统工作在SVC(0b10011)模式 2.设置cprs为0xd3(0b1101001 ...

  5. 基础二 day4

    昨日回顾int bit_lenth()bool int ----> bool 非零True,0 False bool----> True 1 False 0 str ----> bo ...

  6. POJ 2253 Frogger(Dijkstra变形——最短路径最大权值)

    题目链接: http://poj.org/problem?id=2253 Description Freddy Frog is sitting on a stone in the middle of ...

  7. 浅谈 C/S 和 B/S 架构

    概述 在这个信息急剧膨胀的社会,我们不得不说人类正进入一个崭新的时代,那就是信息时代.信息时代的一个主要而显著的特征就是计算机网络的应用.计算机网络从最初的集中式计算,经过了Client/Server ...

  8. 最新版redis的安装及配置 linux系统

    1.redis下载 官网地址:https://redis.io/download 百度云地址:链接:http://pan.baidu.com/s/1c1Hu2gK 密码:h17z 2.解压 [root ...

  9. dede列表标签list:应用大全 {dede:list}

    http://syizq.blog.163.com/blog/static/435700372011616115826329/ 标签名称: list 功能说明: 表示列表模板里的分页内容列表 适用范围 ...

  10. channelartlist|频道文档:

    http://help.dedecms.com/v53/archives/tag/global/channelartlist/ {/dede:channelartlist} 参数说明: typeid ...