python3 字符串方法

1.capitalize() 将字符串的第一个字符改为大写

1 >>> s='i love cnblog'
2 >>> s.capitalize()
3 'I love cnblog'

2.casefold() 将字符串所有字符改为小写

1 >>> (s.capitalize()).casefold()
2 'i love cnblog'

3.center(width) 将字符串居中,并用空格将字符串填充至width长度,空格均匀分布在两侧,当width<len(s)时没有效果

1 >>> s.center(20)
2 '   i love cnblog    '

4.count(sub[,start[,end]]) 返回sub在字符串里出现的次数,start,end为可选参数,决定范围

1 >>> s.count('0',5,13)
2 0
3 >>> s.count('o',5,13)
4 1
5 >>> s.count('o',0,13)
6 2

5.encode(encoding='utf-8',errors='strict') 以encoding指定的编码格式对字符串进行编码

1 >>> s.encode(encoding='utf-8',errors='strict')
2 b'i love cnblog'

1 >>> s.encode()
2 b'i love cnblog'

6.endswith(sub[,start[,end]]) 检查字符串是否以sub结尾,是返回True,否返回False,start,end为可选参数,决定范围

1 >>> s.endswith('!',0,13)
2 False
3 >>> s.endswith('g')
4 True

7.expandtabs([tabsize=8]) 把字符串的tab字符(\t)转化为空格,如不指定tabsize,默认为8个空格

1 >>> s.expandtabs()
2 'i love cnblog'
3 >>> s='\t i love cnblog\t'
4 >>> s.expandtabs()
5 '         i love cnblog  '

这里第一个\t转化为8个空格,第二个tab是在后面加了3个空格,与'cnblog'相加共8个字符,并不是直接加8个空格

8.find(sub[,start[,end]]) 检测sub是否在字符串中,如果在则返回index,否则返回-1,start,end为可选参数,决定范围

1 >>> s='i love cnblog'
2 >>> s.find('o')
3 3
4 >>> s.find('o',3,13)
5 3
6 >>> s.find('o',4,13)
7 11
8 >>> s.find('g',0,13)
9 12

这里返回的是sub的index,同时start,end都是包含的。

 9.index(sub[,start[,end]]) 类似find(),不同在于如果sub不在字符串中,返回的不是-1而是异常

1 >>> s='i love cnblog'
2 >>> s.index('o')
3 3
4 >>> s.index('h')
5 Traceback (most recent call last):
6   File "<pyshell#2>", line 1, in <module>
7     s.index('h')
8 ValueError: substring not found

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

 1 >>> s='i love cnblog'#有空格
 2 >>> s.isalnum()
 3 False
 4 >>> s='ilovecnblog'
 5 >>> s.isalnum()
 6 True
 7 >>> s='11ii'
 8 >>> s.isalnum()
 9 True

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

1 >>> s='ilovecnblog'
2 >>> s.isalpha()
3 True

12.isdigit() 如果字符串只包含数字则返回True,否则返回False

1 >>> s='1234'
2 >>> s.isdigit()
3 True

13.isdecimal() 如果字符串只包含十进制数字则返回True,否则返回False

>>> s='1234'
>>> s.isdecimal()
True
>>> s='ox12'#十六进制
>>> s.isdecimal()
False
>>> s='o123'#八进制
>>> s.isdigit()
False

14.islower() 如果字符中至少包含一个能区分大小写的字符,并且这些字符都是小写则返回True,否则返回Flase

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

1 >>> s='ilovecnblog'
2 >>> s.islower()
3 True
4 >>> s='ILOVE'
5 >>> s.isupper()
6 True

15.isnumeric() 如果字符串只包含数字字符,则返回True,否则返回False

初一看感觉和isdigit()是一样的,但是:

 1 >>> num='1'
 2 >>> num.isdigit()
 3 True
 4 >>> num.isnumeric()
 5 True
 6 >>> num=b'1'
 7 >>> num.isdigit()
 8 True
 9 >>> num.isnumeric()
10 Traceback (most recent call last):
11   File "<pyshell#31>", line 1, in <module>
12     num.isnumeric()
13 AttributeError: 'bytes' object has no attribute 'isnumeric'
14 >>> num='四'#汉字的数字,同样的还有罗马数字等
15 >>> num.isdigit()
16 False
17 >>> num.isnumeric()
18 True

17.isidentifier() 判断字符串是否包含该语言的保留字

'def'.isidentifier()
Out[3]:
True
'eval'.isidentifier()
Out[4]:
True

18.isprintable() 判断字符串中所有的字符串都是可以通过repr表示成字符串,或者字符串是空的,都返回True,否则返回False

chr(1000000).isprintable()
Out[13]:
False

这里使用一个超出字符编码范围的数字去转化成字符,测试其是否可以打印,显然,答案是不行。

19.isspace() 判断字符串,至少有一个字符的字符串中所有字符是否都是空格,不是则返回False

''.isspace()
Out[14]:
False
' '.isspace()
Out[15]:
True
' a'.isspace()
Out[16]:
False

20.istitle() 判断是否是标题格式,这里理解为首字母大写。

'Author'.istitle()
Out[17]:
True
'aA'.istitle()
Out[18]:
False
'Aa'.istitle()
Out[19]:
True
'AAAa'.istitle()
Out[20]:
False

21.isupper() 判断字符串是否全部是大写

'AAAa'.isupper()
Out[21]:
False

22.join() 返回一个用指定字符串分隔的字,或者是将指定字符加入到另一个字符中。

a = '12345'
','.join(a)
Out[23]:
'1,2,3,4,5'

23.lower() 返回的是指定字符串的拷贝,并转化成小写

'AAA'.lower()
Out[24]:
'aaa'

24.ljust() 可以指定宽度,以及填充字符串,返回的是按宽度,填充字符串格式化后的左对齐的字符串。

b = 'a'.ljust(10)
len(b)
Out[28]:
10
'a'.ljust(10, 'A') # 指定以A填充
Out[30]:
'aAAAAAAAAA'

25.partition:在指定字符串中查找sep,如果找到了返回该字符前面的部分,sep,及后面的部分,

如果没找到则返回sep及两个空字符中,类似于split,但又有不同

'ssaafdaf'.partition('f')
Out[3]:
('ssaa', 'f', 'daf')

26.replace ,用指定字符串替换指定字符串,如果不指定替换次数,仅替换第一个。

'this is  a test'.replace('a', 'A')
Out[4]:
'this is  A test'

27.rfind(): 返回指定子串的最高索引,如果没找到则返回-1,可以指定要开始替换的起始,结束位置。

'this is a test'.rfind('i')
Out[5]:
5

28.rindex(),与上面的rfind一样,只是如果没找到不是返回-1,而是触发错误

'this is a test'.rindex('g')
Traceback (most recent call last):File "C:\Program Files\Python35\lib\site-packages\IPython\core\interactiveshell.py", line 2869, in run_codeexec(code_obj, self.user_global_ns, self.user_ns)File "<ipython-input-6-f8a393e6a7d2>", line 1, in <module>'this is a test'.rindex('g')
ValueError: substring not found

29.rjust();与ljust()相对应

'aa'.ljust(10)
Out[25]:
'aa        '
'aa'.rjust(10)
Out[26]:
'        aa'

30.rpartition()与partition一样,但是是从右边开始

'this is a test'.rpartition('a')
Out[7]:
('this is ', 'a', ' test')

31.rsplit(),与split作用相同,但是从右侧开始

this is a test'.rsplit(' ')
Out[8]:
['this', 'is', 'a', 'test']

但是讲真,如果不仔细考虑你是不会发现它与split有什么不同的,只有当你指定了最大切割次数时才会有效果。

'this is a test'.split(' ', 1)
Out[10]:
['this', 'is a test']'this is a test'.rsplit(' ', 1)Out[11]: ['this is a', 'test']

32.rstrip(), 从右侧移除指定字符

'this is a test'.rstrip('t')
Out[12]:
'this is a tes'

33.split(), 按指定字符串对目标字符串进行切割,可以指定切割次数

'this is a test'.split('i', 1)
Out[13]:
['th', 's is a test']

感觉它与partition的不同在于它返回的结果中移除了指定的字符串

34.splitlines(),返回字符串的行,按换行符切割,如果没指定keepends=True,则会将其从结果中移除

'this is a string\n this is a test'.splitlines()
Out[14]:
['this is a string', ' this is a test']'this is a string\n this is a test'.splitlines(keepends=True)
Out[16]:
['this is a string\n', ' this is a test']

35.startswith(),判断字符串是否以某个字符开头

'this is a test'.startswith('t')
Out[18]:
True
# 不一定非得一单个字符
'this is a test'.startswith('this')
Out[19]:
True

36.strip() 移除字符串两侧的指定字符串,默认移除空格,需要注意的是可以指定多个字符

'this is a test'.strip('ts')
Out[20]:
'his is a te'

37.swapcase() 转换大小写

'this is A test'.swapcase()
Out[21]:
'THIS IS a TEST'

38.title(), 标题格式,就是首字母大写,其它字符小写

'this is a test'.title()
Out[22]:
'This Is A Test'

39.upper(),将字符全部转成大写

'this is a test'.upper()
Out[24]:
'THIS IS A TEST'

40.zfill(),这里的z指zero,用0将字符填充到指定长度

'aa'.zfill(10)
Out[25]:
'00000000aa'

41.maketrans(),translate,因为内容比较多,见我另一博客

http://www.cnblogs.com/Andy963/p/7060292.html

posted on 2015-12-24 15:06 Andy_963 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Andy963/p/5073128.html

python3 字符串方法相关推荐

  1. python3字符串方法_python3

    Python 字符串 除了数字,Python也能操作字符串.字符串有几种表达方式,可以使用单引号或双引号括起来: >>> 'spam eggs' 'spam eggs' >&g ...

  2. 31个好用的 Python 字符串方法,建议收藏!

    作者 | 小F 来源 | 法纳斯特 字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它. 今天,就带大家学习一下31个最重要的内置字符串方法. 希望大家能从中找到对自己有帮 ...

  3. Python3 字符串

    Python3 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello ...

  4. PYTHON自动化Day4-交换变量,字符串方法,拷贝,集合,文件,文件指针

    一.判断 # 非空即真.非0即真 # 不为空的话就是true,是空的话就是false # 只要不是0就是true,是0就是false# 布尔类型 # True False name = input(' ...

  5. Python3 isspace()方法

    Python3 字符串 描述 Python isspace() 方法检测字符串是否只由空白字符组成. 语法 isspace() 方法语法: str.isspace() 参数 • 无. 返回值 如果字符 ...

  6. python不包含某字符_python正则表达式匹配不包含某几个字符的字符串方法

    python正则表达式匹配不包含某几个字符的字符串方法 一.匹配目标 文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串 二.尝试过程 1) 自然想到正则表达式r'(ht ...

  7. WPF中Binding使用StringFormat格式化字符串方法

    原文:WPF中Binding使用StringFormat格式化字符串方法 货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0 ...

  8. Python是否具有字符串“包含”子字符串方法?

    我正在寻找Python中的string.contains或string.indexof方法. 我想要做: if not somestring.contains("blah"):co ...

  9. python3 字符串 转 ascii码

    在这里先解释一下ASCII,Unicode 和 UTF-8这三者的关系 最早出现的是ASCII,一共包含128个字符(一个字节可以表示256种状态,但第一位所有默认为0,所以只有128种).在接下来计 ...

最新文章

  1. IntelliJ IDEA 转移C盘.IntelliJIdea(索引目录)
  2. 001_JSON-lib下载和文档
  3. 【网络安全】无需SOCKS支持,帮助广大渗透测试人员建立一条隐蔽的通信信道
  4. AI理论知识基础(25)-机器学习常见损失函数, 共轭梯度法(1)
  5. eclipse idea对比_Idea必须配置的环境变量(自己总结)
  6. 滴滴派发15亿出行消费券 覆盖快车、优享等多产品
  7. ueditor如何去掉末尾的p标签_织梦dedecms如何去掉域名后面的index.html
  8. Franz Mandl, Graham Shaw《Quantum Field Theory (2nd)》(弗兰兹·曼德尔, 格雷厄姆·肖《量子场论(第二版)》)中文目录
  9. 中国网络游戏中的反外挂模式
  10. Sahi (3) —— 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial)
  11. hive分隔符_hive默认分隔符
  12. sencha app watch php,Sencha Touch构建移动端App
  13. 入门须知:次世代3D建模软件有哪些?
  14. 自激多谐振荡电路实验总结,小白电路测试
  15. 人工智能小白日记 语音情感分析探索之2 CNN相关及实验
  16. 淘宝商家如何在得物做推广?得物推广有效果吗?
  17. ThinkPHP文件包含漏洞分析
  18. 为编程而生的字体(附网盘下载链接),Pycharm神器级插件 ^_^ 效率提升利器
  19. java 调用mysql视图_java 访问数据库视图 | 学步园
  20. 通达信接口进行二次编程开发步骤

热门文章

  1. 调用 usb_control_msg 返回错误值 -32, Broken pipe, 对 hidraw write时 返回错误值 -32, Broken pipe
  2. 简单话题:LED呼吸灯和串口LED指示灯
  3. [react] React的触摸事件有哪几种?
  4. [react] contextType是什么?它有什么用?
  5. 前端学习(3127):react-hello-react之字符串形式
  6. [html] websocket和socket有什么区别?
  7. PS教程第二十五课:自由选区
  8. [vue] axios是什么?怎样使用它?怎么解决跨域的问题?
  9. 前端学习(2619):vue插槽--具名插槽
  10. 前端学习(1306):node.js模块的加载机制