作者博文地址: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. MAC升级openssl

    Mac OSX EI Capitan 10.11.6升级自带Openssl - 简书 Mac10.11升级安装openssl _ 刘春桂的博客 openssl_openssl_ TLS_SSL and ...

  2. BZOJ 1941: [Sdoi2010]Hide and Seek(k-d Tree)

    Time Limit: 16 Sec  Memory Limit: 162 MBSubmit: 1712  Solved: 932[Submit][Status][Discuss] Descripti ...

  3. CentOS6安装各种大数据软件 第五章:Kafka集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. MySQL 日常运维业务账号权限的控制

    在MySQL数据库日常运维中,对业务子账号的权限的统一控制十分必要. 业务上基本分为读账号和写账号两种账号,所以可以整理为固定的存储过程,让数据库自动生成对应的库的账号,随机密码.以及统一的读权限,写 ...

  5. js节点操作实例

    写了一个简单的小例子来引用js实例 1. 初步节点操作: 2.兼容性节点操作: 3.节点的类型,名字: 4.使用setAttribute设置属性 5.节点复制操作: 6.删除和替换节点 如有错误,还望 ...

  6. PHP-掌握基本的分布式架构思想

    虽然说写PHP目前都是接触的业务代码,发现写久了,也要熟悉相应的架构 在高并发,高可用的系统下,都是使用高性能的分布式架构,最近在学习相关知识 分享一张图片: 欢迎关注公众号[phper的进阶之路], ...

  7. PhpStorm 查看当前类中所有的方法

    展示当前类中的所有方法        Ctrl + F12 方法之间移动                          alt  +   向上箭头/向下箭头

  8. Hbase(2)-HBase简介

    一. HBase的特点 1. 海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据.这与Hbase的极易扩展性息息相关.正式因为Hb ...

  9. anaconda创建python虚拟环境

    参考: 1.https://blog.csdn.net/lyy14011305/article/details/59500819 我的安装过程: 1. 之前已经安装了anaconda,我的版本是ana ...

  10. python教程(零)·前言

    本教程是作者根据自己学习python的经验写下的,一来是想将经验分享给对python同样感兴趣的小白(大神请忽略),二来是想借此加深本人对python的理解,温故而知新. 学习基础 本教程面向的读者, ...