作者博文地址:http://www.cnblogs.com/spiritman/

Python字符串的常用操作包括以下但不限于以下操作:

 字符串的替换、删除、切片、复制、连接、比较、查找、分割等

以下将对字符串的内置操作方法进行总结,并以实力展示。

 使用type获取创建对象的类 type(name)
使用dir获取类的成员dir(name)
使用vars获取类的成员和各个成员的值

capitalize

1 功能:字符串首字母大写
2 语法:s.capitalize() -> string
3 name = 'spiritman'
4 name.capitalize()
5 结果:'Spiritmans'

casefold

 功能:字符串首字母小写
2 语法:s.casefold() -> string
name = 'SpiritMan'
name.casefold()
结果:'spiritMan'

center

 功能:字符串宽度填充。使用原有字符串+填充字符构成指定长度的新的字符串
2 语法:S.center(width[, fillchar]) -> string
name = 'spiritman'
name.center(13)
结果:' spiritman ' #默认以空格填充
name.center(14,'*')
结果:'***spiritman**'
###################################################################
功能:字符串居中。以'*'分割(20位新产生字符串的总宽度)
name = 'spiritman'
name.center(15,'*')
结果:'***spiritman***'

count

 功能:统计某个字符或子序列在字符串中出现的次数,或在字符串指定区间内完成上述操作
2 语法:S.count(sub[, start[, end]]) -> int
name = 'spiritman'
name.count('i')
结果:2
name.count('h',1,3) #从索引值0-3范围的字符中统计'h'出现的次数
结果:1 name.count('rit') #统计子序列rit出现的次数
结果:1

encode

 1 功能:对字符串进行编码操作
2 语法:S.encode([encoding[,errors]]) -> object
3 name = 'spiritman'
4 name.encode()
5 结果:'spiritman'
6
7 功能:转换字符串的编码
8 name = '精灵旅社'
9 name.encode('gbk')
10 结果:'\xc4\xcf\xb7\xc7\xb2\xa8\xb2\xa8'

endswith

 功能:判断字符串是否以某个字符或子序列结尾的,返回值为布尔型
2 语法:S.endswith(suffix[, start[, end]]) -> bool
name = 'spiritman'
name.endswith('s')
结果:False
name.endswith('n')
结果:True
name.endswith('man')
结果:True

expandtabs

 功能:将制表符'\t'转换成指定宽度的tab键分割,默认tabsize=8
2 语法:S.expandtabs([tabsize]) -> string
name = 'spirit\tman'
name.expandtabs()
结果:'spirit man'
name.expandtabs(4)
结果:'spirit man'

find

 功能:在字符串中查找指定字符串,找到则返回其索引值,找不到返回-1
语法:s.find(sub [,start [,end]]) -> int
name = 'spiritman'
name.find('s')
结果:0
name.find('i')
结果:2
name.find('m',1,4)
结果:-1

format

 功能:格式化输出字符串
语法:S.format(*args, **kwargs) -> string
test = 'I\'m {},{}'
test.format('spiritman',' Welcome')
结果: "I'm spiritman,Welcome"

index

 功能:在字符串中查找指定的字符串,找到则返回索引值,找不到时报错
语法:S.index(sub [,start [,end]]) -> int
name = 'spiritman'
name.index('r')
结果:3
name.index('rit')
结果:3

join

 功能:字符串连接
语法:S.join(iterable) -> string
name = 'spiritman'
'*'.join(name)
结果:'s*p*i*r*i*t*m*a*n'

isalnum

 功能:检查判断字符串是否包含字母数字字符
语法: S.isalnum() -> bool
name = 'spiritman'
name.isalnum()
结果:True

isalpha

 功能:检查字符串是否只由字母组成
语法:S.isalpha() -> bool
name = 'spiritman1'
name.isalpha()
结果:False

isdecimal

 功能:检查字符串是否只包含十进制字符。该方法只存在于unicode对象
语法:S.isdecimal() -> bool
name = 'spiritman'
name.isdecimal()
结果:False

isdigit

 功能:检测字符串是否只由数字组成
语法:S.isdigit() -> bool
num = '21312414'
num.isdigit()
结果:True

isspace

 功能:检测字符串是否为空格
语法:S.isspace() -> bool
name = ' '
name.isspace()
结果:True
test = 'spiritman'
test.isspace()
结果:False

istitle

 功能:判断字符串是否适合当做标题(即每个单词首字母大写)
语法:S.istitle() -> bool
s1 = 'A People'
s2 = 'a people'
s1.istitle()
结果:True
s2.istitle()
结果:False

isupper

 功能:判断字符串中所有字母字符是否都是大写字母
语法:S.isupper() -> bool
name = 'spiritman'
NAME = 'SPIRITMAN'
name.isupper()
结果:False
NAME.isupper()
结果:True

ljust

 功能:返回一个以原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
语法:S.ljust(width[, fillchar]) -> string
width #指定字符串长度
fillchar #填充字符,默认空格
name = 'spiritman'
name.ljust(20.'*')
结果:'spiritman***********'

lower

 功能:将所有的字母转换成小写
语法:S.lower() -> string
name = 'SpiritMan'
name.lower()
结果:'spiritman'

lstrip

 功能:删除字符串左边指定的字符,默认为空格
语法:S.lstrip([chars]) -> string or unicode
name = ' spiritman '
name1 = 'xxxspiritmanxxx'
name.lstrip()
结果:'spiritman '
name1.lstrip('x')
结果:'spiritmanxxx'

rstrip

 功能:删除字符串右边指定的字符,默认为空格
语法:S.rstrip([chars]) -> string or unicode
name = ' spiritman '
name1 = 'xxxspiritmanxxx'
name.rstrip()
结果:' spiritman'
name1.rstrip('x')
结果:'xxxspiritman'

strip

 功能:删除字符串两边指定的字符,默认为空格
语法:S.strip([chars]) -> string or unicode
name = ' spiritman '
name1 = 'xxxspiritmanxxx'
name.strip()
结果:'spiritman'
name1.strip('x')
结果:'spiritman'

partition

 功能:根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
语法:S.partition(sep) -> (head, sep, tail)
sep = 'rit'
name = 'spiritman'
name.partition(sep)
结果:('spi','rit','man')

replace

 功能:字符串替换。若指定参数count,则替换不超过count次
语法: S.replace(old, new[, count]) -> string
参数: old -----将被替换的子字符串
new ---- 新字符串,用于替换old字符串
count--- 可选参数,替换不超过count次
str = 'this is a test file....wow!!! this is a realy file'
str.replace('is','was')
结果:'thwas was a test file....wow!!! thwas was a realy file'
str.replace('is','was',3)
结果:'thwas was a test file....wow!!! thwas is a realy file'

split

 功能:字符串切割,默认空格
语法: S.split([sep [,maxsplit]]) -> list of strings
name = 'spiritman'
name.split()
结果:['spiritman']
name.split('i')
结果:['sp', 'r', 'tman']

__add__

 功能:在字符串后面添加指定的字符或字符串
name = 'spiritman'
str = 'liu'
name.__add__('s')
结果:'spiritmans'
name.__add__(str)
结果:'spiritmanliu'

__contains__

 功能:判断指定字符串是否包含在字符串中,返回值为True和False
name = 'spiritman'
name.__contains__('i)
结果:True

__eq__

 功能:判断字符串是否相等,返回值为True和False
str1 = 'spiritman'
str2 = 'spiritmans'
str1.__eq__(str2)
结果:False

作者博文地址:http://www.cnblogs.com/spiritman/

Python序列之字符串 (str)的更多相关文章

  1. python 序列:字符串、列表、元组

    python 序列:字符串.列表.元组   序列:包含一定顺序排列的对象的一个结构 内建函数:str() list() tuple() 可以使用str(obj)可以把对象obj转换成字符串 list( ...

  2. Python——序列与字符串

    序列与字符串 一. 列表 列表是Python的内置可变序列,是包含若干元素的有序连续内存空间.同一列表元素的数据类型可以各不相同,可以分别为整数.实数.字符串等基本类型,也可以是列表.元组.字典.集合 ...

  3. 3、python数据类型之字符串(str)

    字符串是任何计算机语言中最常见的数据类型,python中也不例外,因此熟练掌握字符串是学习python的必备技能.python中字符串三种定义方式 str = 'wang' str = "w ...

  4. python数据类型之字符串(str)和其常用方法

    字符串是有序的,不可变的. 下面的例子说明了字符串是不可变的 name = 'alex' name = 'Jack' """ 并没有变,只是给name开启了一块新内存,储 ...

  5. 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片

    目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...

  6. python序列类型字符串的方法L.index()与L.find()区别

    首先官方解释 S.index(sub[, start[, end]]) -> int Like S.find() but raise ValueError when the substring ...

  7. Python基础之字符串(str)常用操作

    1.字符串常用的方法 len()返回字符串的长度 ##Python3 >>> print(len('ab12我')) 5 ##Python2 >>> print(l ...

  8. python之将一个字符串str的内容倒叙过来,并输出。

    inStr = input() flashback = inStr[::-1] print(flashback)

  9. python学习笔记:python序列

    python序列包括字符串.列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数. 一.python序列 序列类型操作符 标准类型的操作符一般都能适用于所有的序列类型,这里说一 ...

随机推荐

  1. PLSQL Developer 12 注册码

    PLSQL Developer 12 注册码product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le serial Number:226959 password ...

  2. 2019年,200道面试题打造最受企业欢迎的iOS程序猿!

    在2018年底,小编混迹在各种iOS交流群中,整理出了将近两百道大厂最喜欢在面试问到的问题,今天在这里分享给大家[免费获取方式在最后]!                           小编就不在 ...

  3. 深入理解java虚拟机读后总结

    之前看过,很多会遗忘,标记一下,温故知新.(明天的我一定会感谢现在努力的自己. ) 一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区.虚拟机栈.本地方法栈.堆.程序计数器,其 ...

  4. C++练习 | 递归创建二叉树并求叶子结点的数值和

    #include <iostream> using namespace std; struct Tree { int data; Tree *lchild; Tree *rchild; } ...

  5. PHP+jQuery实现双击修改table表格

    <td signs="name"> <input type="text" disabled="disabled" read ...

  6. ubuntu远程桌面

    用Linux已经有很长一段时间,但主要用于嵌入式开发(用交叉工具链进行版本编译),所以用命令行就可以了,而且敲的最多的命令就是make.最近开始搭建TensorFlow的开发环境,大部分工作都是命令行 ...

  7. sublime text3 插件安装方法

    1.按Ctrl+`(ESC下方的键)调出console粘贴以下代码到底部命令行并回车 2.输入:import urllib.request,os,hashlib; h = '6f4c264a24d93 ...

  8. 常见的移动端H5页面开发遇到的坑和解决办法

    转过来,平时看看.虽然还有很多问题至今无解.比如:华为麒麟950的P8和meta打开我们的应用首页经常偶发白屏.!! 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是 ...

  9. 每日Linux命令(2)-cal

    cal命令用来显示公历,公历是现在国际通用的历法. 一.格式 cal [选项] [参数] 二.功能 显示当前日历年月日,也可以指定显示某年全年日历及时间. 三.命令选项 -h 关闭今天显示的高亮 -j ...

  10. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...