全面解读python中对字符串(str)的操作

灰色框里面的方法就是所有字符串处理的方法

字符串能使用的所有方法.png

1、strip: 去除首尾的空白符

s = '\n   hello word \n\t\r'
# 左右都去除
all = s.strip()
all = 'hello word'
# 左去除
left = s.lstrip()
left = 'hello word \n\t\r'
# 右去除
right = s.rstrip()
right = '\n hello word'
python对字符串s的处理是一个set,而不是一个固定顺序的字符串。也就是说,是把s拆开成由单个字母组成的set来看的,如果被strip()的字符串在左右边包含任意一个该set中的字符,都会被strip()掉。
s = 'hello word'
s.strip('hello')
s.strip('helo')
s.strip('hloe')
...(这是set无序,不重复性质)
得到的结果都一样--->' word'

2、字符串相加:就是使用‘+’由于很简单就不多说了。

3、字符串的查询

使用index(),find()查询,找到了返回下标。find()找不到不会报错,index()找不到会报错。

s = 'prince with rose'
>>> s.index('p')  
>>> s.find('p')
>>> 0  # 返回的是该元素在字符串中的下标

>>>s.index('d')
>>>ValueError: substring not find

>>> s.find('d')
>>> -1  # 如果找不到返回'-1'

使用in / not in, 返回布尔值

# 存在时的情况
>>> 'prince' in s
>>> True
# 不存在时候的情况
>>> 'hello' in s
>>> False

4、字符串的比较

str.cmp():比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数,X=Y,返回值为0。

python3已经没有该方法,官方文档是这么写的:

The cmp() function should be treated as gone, and the cmp() special method is no longer supported. Use lt() for sorting, eq() with hash(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是不再支持cmp()函数,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)

# 数字大小很好理解
>>> a= '100'
>>> b= '80'
>>> cmp(a,b)
>>>1  
# 字符串的大小,可以理解为26个字母越排在后面的越大
>>> a= 'abc'
>>> b= 'efg'
>>> cmp(a,b)
>>> -1
#  相等的情况
>>> cmp(a,a)
>>> 0

5、字符串的长度

使用len()这个方法,s.len()就可以获取到字符串的长度,返回的是一个整数。

6、字符串的大小写(upper,lower)

up和low的比较级单词

s = 'Hey gUys '
# 变大
u = s.upper()
u = 'HEY GUYS'
# 变小
l = s.lower()
l = 'hey guys'

s.swapcase() # 大小写互换 
>>> 'hEY GuYS'

s.capitalize() # 首字母大写 
>>> 'Hey guys'
# 带有"_"的可以把连接的两个单词的首字母
s = 'hey_guys'
>>> s.capitalize()
>>> 'Hey_Guys'

7、字符串的测试、判断函数,这些函数返回的都是bool值

S.startswith() # 是否以开头 
S.endswith()   # 以结尾 
S.isalnum()    # 是否全是字母和数字,并至少有一个字符 
S.isalpha()    # 是否全是字母,并至少有一个字符 
S.isdigit()    # 是否全是数字,并至少有一个字符 
S.isspace()    # 是否全是空白字符,并至少有一个字符 
S.islower()    # S中的字母是否全是小写 
S.isupper()    # S中的字母是否便是大写 
S.istitle()    # S是否是首字母大写的

8、字符串切片

str = '0123456789′
str[0:3]    #截取第一位到第三位的字符
str[:]      #截取字符串的全部字符
str[6:]     #截取第七个字符到结尾
str[:-3]    #截取从头开始到倒数第三个字符之前
str[2]      #截取第三个字符
str[-1]     #截取倒数第一个字符
str[::-1]   #创造一个与原字符串顺序相反的字符串
str[-3:-1]  #截取倒数第三位与倒数第一位之前的字符
str[-3:]    #截取倒数第三位到结尾
str[:-5:-3] #逆序截取,截取倒数第五位数与倒数第三位数之间

9、字符串替换

python 字符串替换可以用2种方法实现:
1是用字符串本身的方法。
2用正则来替换字符串

#1.用字符串本身的replace方法
a = 'hello world'
a.replace('world','python')
>>> a 
>>> hello python

2.用正则表达式来完成替换:
import re
 b = str.sub(r'word$','python',a)  # 至少传三个参数:r'', 替换内容,被替换的字符串
>>> b
>>> hello python
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352