1、strip、lstrip和rstrip

描述:

用于移除字符串左右两边、左边、右边指定的字符(默认为空白符,例如:/n, /r, /t, ' ')或字符序列。

语法:

str.strip([chars])
str.lstrip([chars])
str.rstrip([chars])

例如:

1)移除单个字符或空白:

>>> '  abc '.strip()
'abc' >>> ' abc'.lstrip()
'abc' >>> 'abc '.rstrip()
'abc' >>> 'abc'.strip('a')
'bc' >>> 'abc'.lstrip('a')
'bc' >>> 'abc'.rstrip('c')
'ab'

2)移除一个字符串列表(是否会删除的前提是从字符串最开头和最结尾是不是包含要删除的字符,如果有就会继续处理,没有的话是不会删除中间的字符的):

>>> 'abc@163.com'.strip('cawm')
'bc@163.co' >>> 'abc@163.com'.lstrip('cawm')
'bc@163.com' >>> 'abc@163.com'.rstrip('cawm')
'abc@163.co'

 2、大小写转换lower、upper、title、capitalize、swapcase

描述:

lower:将字符串中的大写字母转为小写字母。

upper:将字符串中的小写字母转为大写字母。

title:将所有单词首字母转为大写,其余字母均转为小写。

capitalize:将字符串的第一个字母转为大写,其他字母转为小写。

swapcase:将字符串做大小写字母转换(大写->小写,小写->大写)

语法:

str.lower()
str.upper()
str.title()
str.capitalize()
str.swapcase()

例如:

>>> 'aBcDe'.upper()
'ABCDE' >>> 'aBcDe'.lower()
'abcde' >>> 'thIs is a exaMple'.title()
'This Is A Example' >>> 'this is A example'.capitalize()
'This is a example' >>> 'aBcDe'.swapcase()
'AbCdE'

3、find、index、rfind、rindex

描述:

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

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

rfind:类似于find()函数,只不过是从字符串右边开始查找。

rindex:类似于index()函数,只不过是从字符串右边开始查找。

语法:

str.find(str, beg=0, end=len(string))
str.index(str, beg=0, end=len(string))
  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

例如:

>>> str1 = 'This is a example!'
... str2 = 'example'
... index = str1.find(str2, 0, len(str1))
... print(index)
10 >>> str1 = 'This is a example!'
... str2 = 'example'
... index = str1.index(str2, 0, len(str1))
... print(index)
10

4、count

描述:

统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

语法:

str.count(sub, start= 0, end=len(string))

例如:

>>> 'hello world'.count('o')
2 >>> 'hello world'.count('o', 5 , len('hello world'))
1

5、replace

描述:

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

语法:

str.replace(old, new[, max])
  • old -- 将被替换的子字符串。
  • new -- 新字符串,用于替换old子字符串。
  • max -- 可选字符串, 替换不超过 max 次。

例如:

>>> str = 'This is a example'
... nStr = str.replace('is', 'was')
... print(nStr)
Thwas was a example >>> str = 'This is a example'
... nStr = str.replace('a', 'some', 1)
... print(nStr)
This is some example

6、split、splitlines、partition、rpartition

描述:

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

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

partition:根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

rpartition:类似于partition()函数,只不过是从右边开始。

语法:

str.split(str="", num=string.count(str))
  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。
str.splitlines([keepends])
  • keepends -- 在输出结果里是否保留换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
str.partition(str)
  • str-- 指定的分隔符。
str.rpartition(str)

例如:

>>> 'This \nis a \nexample'.split()
['This', 'is', 'a', 'example'] >>> 'This \nis a \nexample'.split(' ', 1)
['This', '\nis a \nexample' >>> 'This \nis a \nexample'.splitlines()
['This ', 'is a ', 'example'] >>> 'This \nis a \nexample'.splitlines(True)
['This \n', 'is a \n', 'example'] >>> 'www.example.com'.partition('.')
('www', '.', 'example.com') >>> 'www.example.com'.rpartition('.')
('www.example', '.', 'com')

7、填充ljust、center、rjust

描述:

ljust:返回一个指定的宽度 width 居左的字符串,fillchar 为填充的字符,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。

center:返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。

rjust:返回一个指定的宽度 width 居右的字符串,fillchar 为填充的字符,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。

语法:

str.ljust(width[, fillchar])
str.center(width[, fillchar])
str.rjust(width[, fillchar])
  • width -- 字符串的总宽度。
  • fillchar -- 填充字符。

例如:

>>> '[www.example.com]'.ljust(30, '*')
'[www.example.com]*************' >>> '[www.example.com]'.rjust(30, '*')
'*************[www.example.com]' >>> '[www.example.com]'.center(30, '*')
'******[www.example.com]*******' >>> '[www.example.com]'.center(4, '*')
'[www.example.com]'

8、join

描述:

将序列中的元素以指定的字符连接生成一个新的字符串。

语法:

str.join(sequence)
  • sequence -- 要连接的元素序列。

例如:

>>> '-'.join(('a', 'b', 'c'))
'a-b-c'

9、isalpha、isdigit、isalnum、isspace

描述:

isalpha:检测字符串是否只由字母组成。

isdigit:检测字符串是否只由数字组成。

isalnum:检测字符串是否由字母和数字组成。

isspace:检测字符串是否只由空格组成。

语法:

str.isalpha()
str.isdigit()
str.isalnum()
str.isspace()

例如:

>>> 'abc'.isalpha()
True >>> ''.isdigit()
True >>> 'abc123'.isalnum()
True >>> ' '.isspace()
True

Python 常见的字符串操作的更多相关文章

  1. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

  2. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  3. python入门7 字符串操作

    字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...

  4. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  5. 【Python自动化Excel】Python与pandas字符串操作

    Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...

  6. Python 基础之字符串操作,函数及格式化format

    一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你,"strvar2 = "亲爱的姑凉"res = strvar1 + strvar2pr ...

  7. [Python Study Notes]字符串操作

    字符串操作 a.字符串格式化输出 name = "liu" print "i am %s " % name     #输出: i am liu   PS: 字符 ...

  8. (Python基础)字符串操作

    以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...

  9. Bash 中常见的字符串操作

    获取字符串长度 ${#string} MyString=abcABC123ABCabc 注意这会自动去掉字符串结尾处的空格,如果在字符串中包含空格(开头.中间或结尾),就需要使用引号把字符串包裹起来: ...

随机推荐

  1. ettercap_缺少组件问题

    原因:缺少WinPcap组件解决:安装即可

  2. Linux 进程状态标识 Process State Definition

    From : http://www.linfo.org/process_state.html 译者:李秋豪 进程状态标识是指在进程描述符中状态位的值. 进程,也可被称为任务,是指一个程序运行的实例. ...

  3. JS动态修改微信浏览器中的title

    JS动态修改微信浏览器中的title我们的原理是设置一个ifame然后我们再加载一下就可以实现了,具体的例子如下所示. 平时使用JS修改title,直接document.title=新标题就好了 这样 ...

  4. Visual Studio C++ Win32控制台应用程序,Win32项目,MFC的区别

    背景 Visual Studio C++ 创建新项目蹦出来如下选项: Win32控制台应用程序,Win32项目,MFC有什么区别? 正文: Win32控制台,没有界面,命令行执行生成的文件则直接在后台 ...

  5. 数字图像处理学习笔记之一 DIP绪论与MATLAB基础

    写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...

  6. Java中关于String的比较

    关于String的各种==和equals,有的人搞不懂 简而言之 String  s1 = "Hello"                     声明的是一个常量,会在常量池里. ...

  7. 清除.svn文件

    清除以.svn结尾的文件: 新建一文本,然后复制以下代码进去,然后保存成clean.bat即可,它会把当前文件夹以及以下的所有匹配文件都给删除了 @echo on color 2f mode con: ...

  8. chromium之revocable_store

    // |RevocableStore| is a container of items that can be removed from the store. Revoke: 撤销 Revocable ...

  9. python核心编程2 第十四章 练习

    14-3.执行环境.创建运行其他Python脚本的脚本. if __name__ == '__main__': with open('test.py') as f: exec(f.read()) 14 ...

  10. shell 输出带颜色字体

    输出特效格式控制:\033[0m  关闭所有属性  \033[1m   设置高亮度  \03[4m   下划线  \033[5m   闪烁  \033[7m   反显  \033[8m   消隐  \ ...