Python3的字符串操作相关函数详解

字符串内建函数

1. capitalize()

将字符串中的第一个字符转换成大写,其他字母变成小写.例:

  1. >>> "hello World".capitalize()
  2. 'Hello world'

2. center(width [,fillchar])

该函数返回一串字符串.width指定该字符串的宽度,中间是原字符串,两边用指定字符填充.fillchar为可选参数,默认空格作为填充字符.例:

  1. >>> "Hello World".center(40, '*')
  2. '**************Hello World***************'

3. count( str [,beg] [,end] )

返回str在字符串里出现的次数,可选参数beg是开始的位置, end是结束的位置.例:

>>> "Hello World".count('o')
2

4. encode( [encoding] [,errors])

对字符串进行编码,返回一个byte对象

可以指定encoding编码格式,也可以指定对编码错误所进行的操纵.errors值默认 'strict',意为编码错误的话会引起一个unicode编码异常.例:

  1. >>> "Hello World".encode('utf-8', 'strict')
  2. b'Hello World'

说完编码再说说解码,解码是byte对象中的函数,即 decode([encoding] [,errors]).参数跟encode一样.例:

>>> b'Hello World'.decode('utf-8')
'Hello World'

5. endswith(suffix [,beg] [,end])

检测字符串是否以特定后缀(suffix参数)结尾,可选检测字符串开始和结束的位置.例:

  1. >>> "hello.jpg".endswith('.jpg')
  2. True

6. expandtabs([tabsize])

设定tabsize的大小(默认为8),用空格数代替tab符号'\t'.例:

  1. >>> "Hello\tWorld".expandtabs(8)
  2. 'Hello World'

这里tab大小为8,'Hello'字符站了5个,\t就转换成了3个空格.

7. find(str, [,beg], [end])

检测str是否在字符串內,在就返回该字符串的位置,否则返回-1.例:

  1. >>> "Hello World".find('ld')
  2. 9

8. index(str [,beg] [,end])

跟find一样,对指定字符串进行索引,不过没有找到对应字符串会报错.例:

  1. >>> "Hello World".index('ld')
  2. 9

9. isalnum()

判断该字符串是否全是字符与数字组合,如果是,返回True,否则返回False.例如:

  1. >>> "HelloWorld33".isalnum()
  2. True

注意:如果包含空格或其他特殊符号,转义字符等,结果都为False.

10. isalpha()

判断字符串是否全是字符组合(包括汉字), 如果是,返回True, 否则返回False.例如:

  1. >>> "HelloWorld".isalpha()
  2. True

11. isdigit()

判断字符串是否只包含数字, 并返回True或False.例如:

  1. >>> '23'.isdigit()
  2. True

12. islower()

判断字符串中的英文字符是否都为小写字符并返回布尔值.例:

  1. >>> "hello world".islower()
  2. True

13. isnumeric()

判断字符串是否只包含数字字符并返回布尔值,数字可以是罗马数字,汉字数字,Unicode数字等, 例:

  1. >>> "一二三".isnumeric()
  2. True

14. isspace()

判断字符串是否只包含空白并返回布尔值.例:

  1. >>> "\t\n".isspace()
  2. True

'\t' 表示一个tab的空白, '\n' 表示换行.这个字符串仍然是空白的

15. istitle()

判断字符串是否是标题,即字符串开头与每个空白后的第一个字符是大写状态.例:

  1. >>> "Hello World".istitle()
  2. True

16. isupper()

判断字符串中的英文字符是否都是大写并返回布尔值.例:

  1. >>> "HELLO WORLD".isupper()
  2. True

17. join(seq)

以该字符串作为分隔符将seq分隔组成一个新的字符串并返回.例:

>>> " abcd ".join("HELLO")
'H abcd E abcd L abcd L abcd O'

18. ljust(width [,fillchar])

指定该字符串的宽度,并左对齐,右边用指定字符填充,默认空格.例:

  1. >>> "Hello World".ljust(50, '*')
  2. 'Hello World***************************************'

19. lower()

将字符串中的字符都转换成小写.例:

  1. >>> "Hello World".lower()
  2. 'hello world'

20. lstrip([str])

去掉字符串左边的空格或指定字符, 例:

  1. >>> " Hello World".lstrip()
  2. 'Hello World'

21. replace( old, new [, max])

将字符串中old替换成new, 并且可以指定替换最大次数.例:

  1. >>> "Hello World".replace('l', '3', 2)
  2. 'He33o World'

22. rfind(str [,beg] [,end])

跟find一样,返回指定字符的索引, 不过是从右边向左开始找的. 例:

  1. >>> "Hello World".rfind('o')
  2. 7

23. rindex(str [,beg] [,end])

同index,不过是从右向左查找索引,未找到会抛出异常.例:

  1. >>> "Hello World".rindex('or')
  2. 7

24. rjust(width [,fillchar])

返回一个指定宽度,原字符串右对齐,左边用空格或指定字符填充的新字符串. 例:

  1. >>> "Hello World".rjust(40, '*')
  2. '*****************************Hello World'

25. rstrip()

删除字符串末尾的空格或指定字符. 例:

  1. >>> "Hello World5555555".rstrip('5')
  2. 'Hello World'

26. split(str [, num])

以指定str字符为分隔符, 可指定最多分隔num次. 并返回一个list. 例:

  1. >>> "Hello World".split('l', 2)
  2. ['He', '', 'o World']

27. splitlines( [keepends])

按 '\r', '\n' 来分隔字符串并返回一个list列表.keepend的值为True或False, 表示是否将 '\n'作为分隔符

  1. >>> 'Hello \r World \n Hello World'.splitlines()
  2. ['Hello ', ' World ', ' Hello World']

28.  startswith(substr [,beg] [,end])

检测字符串是否以substr开头, 并返回一个布尔值. 例:

  1. >>> "Hello World".startswith('H')
  2. True

29. strip([chars])

在字符串上同时执行了lstrip()跟rstrip(), 删除字符串开头或结尾指定的字符.例:

  1. >>> "hahahahaHello Worldhahahaha".strip('ha')
  2. 'Hello World'

30. swapcase()

将该字符串的大小转换成小写, 小写转化成大写. 例:

  1. >>> "Hello World".swapcase()
  2. 'hELLO wORLD'

31. title()

将该字符串标题化并返回, 就是字符串开头与每个空白后的第一个字符转换成大写, 其余字符转换成小写. 例:

  1. >>> "helLo, worLD".title()
  2. 'Hello, World'

32. translate(table [, delechars])

使用映射表翻译该字符串, 要过滤掉的字符放在delechar里 如何创建映射表呢?

str.maketrans(intab, outtab)

创建一个字符映射表, 相当于字典翻译一样,第一个参数是要替换组成的字符串, 第二个参数是相应的映射字符串.例如

  1. >>> intab, outtab = "abced", "12345"
  2. >>> 'Hello World'.translate(str.maketrans(intab, outtab))
  3. 'H4llo Worl5'

注意:intab跟outtab的参数长度要一致,不然会报错

33. upper()

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

  1. >>> "Hello World".upper()
  2. 'HELLO WORLD'

34.zfill(width)

返回一个指定长度的字符串, 原字符串右对齐, 左边以0填充. 例:

  1. >>> "Hello World".zfill(40)
  2. '00000000000000000000000000000Hello World'

35. isdecimal()

判断字符串是否只包含十进制字符并返回布尔值. 例:

  1. >>> "2333".isdecimal()
  2. True

该方法仅用于unicode对象

Python内置相关可用函数

1. len(str)

该函数可用于计算字符串的长度. 例:

  1. >>> len("Hello World")
  2. 11

2. min(str)

返回字符串中最小的字符.例:

  1. >>> min("helloworld")
  2. 'd'

3. max(str)

返回字符串中最大的字符, 例:

  1. >>> max("helloworld")
  2. 'w'

字符串格式化的几种方式

上面找不到format,这里专门放最后说一下格式化的几种方式.

1. %

这种方法是从c语言带过来的,用%d,%s,%f 等特殊字符进行格式化, 例:

  1. >>> "%d + %d = %d" % (2, 3, 2+3)
  2. '2 + 3 = 5'

2. format(*args)

format也是字符串的内建函数, 但是不能单独使用,需要在字符串內加 '{}',才能进行格式化替换.并且"{}"內可指定格式化的序号.例:

  1. >>> "{}, {}".format('Hello', 'World')
  2. 'Hello, World'
  3. >>> "{1}, {0}".format('Hello', 'World')
  4. 'World, Hello'

3. fstring

为了更加简便, python在3.6版本引进了fstring.

在字符串前面加上一个f,并在字符串內加入"{var_name}"就能完成格式化. var_name表示变量名.例:

  1. >>> a, b = 10, 20
  2. >>> f"{a} * {b} = {a*b}"
  3. '10 * 20 = 200'

Python3中的字符串相关操作的更多相关文章

  1. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  2. Shell脚本中替换字符串等操作

    在做shell批处理程序时候,常常会涉及到字符串相关操作. 有非常多命令语句.如:awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号.能够达到类似效果,大家知道,使用内部操作符 ...

  3. python字符串、字符串处理函数及字符串相关操作

    python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...

  4. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)

    2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作  阅读:次   时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ...

  5. javascript中对字符串的操作总结

    原文:javascript中对字符串的操作总结 没听过一句话吗?程序员的世界,不处理字符串就是处理数组.这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了 ...

  6. Python2和Python3中的字符串编码问题解决

    Python2和Python3在字符串编码上是有明显的区别. 在Python2中,字符串无法完全地支持国际字符集和Unicode编码.为了解决这种限制,Python2对Unicode数据使用了单独的字 ...

  7. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  8. Python中对字符串的操作

    Python字符串的相关操作 1.字符串格式判断 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.isl ...

  9. linux内核驱动中对字符串的操作【转】

    转自:http://www.360doc.com/content/12/1224/10/3478092_255969530.shtml Linux内核中关于字符串的相关操作,首先包含头文件: #inc ...

随机推荐

  1. 21、nginx之ngx_http_proxy_module模块

    Nginx 的代理功能是通过 ngx_http_proxy_module 模块来实现的.默认在安装 Nginx 时已经安装了ngx_http_proxy_module模 块,因此可直接使用 ngx_h ...

  2. echarts 根据geojson 数据绘制区域图(精确到镇)

    步骤:1)先获取区域(县.镇)json数据 :2)使用echarts 绘制地图: 先上一波效果图(昆明市东川区) 一.获取区域json数据 1.下载工具"水经微图", 2.下载东川 ...

  3. FlowNet:simple / correlation 与 相关联操作

    Flow Net : simple / correlation 与 相关联操作 ​ 上一篇文章中(还没来得及写),已经简单的讲解了光流是什么以及光流是如何求得的.同时介绍了几个光流领域的经典传统算法. ...

  4. Flask(1)- 简介

    背景 为啥要学,很久之前就学过点,没写文章 最近因为要写机器人工具,其实就是简单的纯服务端工具 反正 flask 也挺简单,一天快速过完 概念会直接搬教程的,实操自己敲一遍再总结 参考教程 https ...

  5. Android系统“资源调度框架”

    Android系统"资源调度框架" 目录 Android系统"资源调度框架" 一.一些问题的思考 "资源"是什么 "资源" ...

  6. 【重学Java】Set集合

    Set集合 Set集合概述和特点[应用] 无序不可重复 没有索引,不能使用普通for循环遍历.可以使用迭代器或者增强foreach语句遍历 TreeSet集合 TreeSet集合概述和特点[应用] 无 ...

  7. redis--hash的实现

    Redis数据结构---字典,哈希表,dict 或java中的map,数据使用key -> value的形式存储,整个redis数据库就是基于字典实现,api见hash REDIS的hash实现 ...

  8. centos下nodejs,npm的安装和nodejs的升级

    安装: sudo yum install epel-release sudo yum install nodejs node -v yum install -y npm --enablerepo=ep ...

  9. PO,VO,BO,POJO,DAO的区别

    基本概念 PO:persistant object (持久化对象),可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不 ...

  10. git使用---安装,提交,回退,修改,分支,标签等

    下面是对git的各种使用及命令的基础使用,来自廖雪峰老师的git教程,这个收录下,作为git的使用总结. github上面地址为:https://github.com/Zhangguoliu/lear ...