作者博文地址: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. docker 容器不能访问宿主端口原因

    因为数据包到了eth0的 上的iptables 表,首先匹配PREROUTING 链,这个拒绝了来自docker0的流量,从而跳到input链,input没有放开服务端口,所以容器访问宿主端口失败;但 ...

  2. Ubuntu16.04系统中不同版本Python之间的转换

    Ubuntu系统自带的版本是2.7.12 安装好python3.6之后,改变一下Python的优先级(需要root权限). 在使用下面这个命令查看电脑里面有几个Python版本 update-alte ...

  3. 三、Shiro授权开发

    Shiro 支持三种方式的授权: I. 编程式:通过写if/else 授权代码块完成: Subject subject =SecurityUtils.getSubject(); if(subject. ...

  4. Web—08-移动端库和框架

    移动端js事件 移动端的操作方式和PC端是不同的,移动端主要用手指操作,所以有特殊的touch事件,touch事件包括如下几个事件: 1.touchstart: //手指放到屏幕上时触发 2.touc ...

  5. chromium之MessageLoop浅析

    对chromium的MessageLoop非常感兴趣,接下来会详细分析Windows平台的具体实现. 代码版本:chromium-4.0.210.0_p26329 先看一下依赖的文件 message_ ...

  6. 复习宝典之Mysql数据库

    查看更多宝典,请点击<金三银四,你的专属面试宝典> 第一章:mysql数据库 1)mysql与mariaDb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用 ...

  7. 利用Git Bash 远程访问服务器

    首先 先在自己的当前主机打开git bash ssh-keygen 生成密钥对 (默认就好,我自己是一直摁着回车的) cat ~/.ssh/id_rsa.pub 查看生成好的公钥,并复制好 打开你远端 ...

  8. 日期插件rolldate.js的使用

    日期插件rolldate.js的使用 下载地址:http://www.jq22.com/jquery-info19834 效果: 代码: <!DOCTYPE html> <html ...

  9. Zeta Linux上进行WiFi Direct调试

    1)叫醒p2p网卡 ifconfig p2p0 up   2)启动wpa_supplicant服务 wpa_supplicant -Dnl80211 -ip2p0 -c /etc/wpa_suppli ...

  10. python学习之简介与环境安装

    [转自]http://www.cnblogs.com/wupeiqi/articles/5433925.html --Python可以应用于众多领域 如:数据分析.组件集成.网络服务.图像处理.数值计 ...