Python的字符串切片及常用方法

获取Python字符串中的某字符可以使用索引:

lang = 'python'
lang[0]
# p
lang[3]
# h

截取字符串中的一段字符串可以使用切片,切片在方括号中使用冒号:来分隔需要截取的首尾字符串的索引,方式是包括开头,不包括结尾

lang[1:4]
# yth

当尾索引没有给出时,默认截取到字符串的末尾

lang[1:]
# ython

当头索引没有给出的时候默认从字符串开头开始截取

lang[:3]
# pyt

当尾索引和头索引都没有给出的时候,默认返回整个字符串,不过这只是一个浅拷贝

lang[:]
# python

当尾索引大于总的字符串长度时,默认只截取到字符串末尾,很明显使用这种方法来截取一段到字符串末尾的子字符串是非常不明智的,应该是不给出尾索引才是最佳实践

lang[3:100]
# hon

当头索引为负数时,则是指从字符串的尾部开始计数,最末尾的字符记为-1,以此类推,因此此时应该注意尾索引的值,尾索引同样可以为负数,如果尾索引的值指明的字符串位置小于或等于头索引,此时返回的就是空字符串

lang[-2:]
# on
lang[-2,2]
# ''

切片是Python中截取字符串最强大的功能。

以下列举部分Python字符串常用的方法:

  • 使用len()方法获取字符串长度
len(lang)
# 6
  • 使用in操作符判断某个子字符是否在字符串中
'p' in lang
# True
'ab' in lang
# False
  • 使用max()和min()方法获取字符串中编码最值对应的字符
max(lang)
# y
min(lang)
# h
  • 使用*操作符对字符串进行重复
lang * 2
# pythonpython
  • 使用cmp()方法对两个字符串进行对比,比较方式是先比较两个字符串的第一个字符的ASCII值,相同则比较第二个,依次类推,如果相等则返回0,第一个更小则返回-1,第一个大则返回1
lang2 = 'qython'
lang3 = 'pythoa'

cmp(lang, lang2)
# -1
cmp(lang, lang3)
# 1
cmp(lang, lang)
# 0
  • 使用chr()方法将数值作为ASCII值转化为字符,类似于JavaScript中的String.fromCharCode()方法
chr(97)
# a
  • 使用ord()方法获取字符的ASCII值,类似于JavaScript中字符串实例的charCodeAt()方法
ord('a')
# 97
  • 使用str()方法将其他数据类型转化为字符串
num = 3.14
str(num)
# 3.14
  • 将字符串的第一个字符大写
'python'.capitalize()
# Python
  • 使用split()方法将字符串按照指定的字符串分隔,返回数组
'hello world'.split(' ')
# ['hello', 'world']
  • 使用strip()、lstrip()、rstrip()方法分别去掉左右空格、左空格、右空格
' hello '.strip()
# hello
' hello '.lstrip()
# 'hello '
' hello '.rstrip()
# ' hello' 
  • 使用upper()、lower()方法对字符串中所有字符大写、小写
lang.upper()
# PYTHON
lang.lower()
# python
  • 使用isupper()、islower()方法判断字符串中所有的字符是否都是大写、小写
'ABC'.isupper()
# True
'Abc'.islower()
# False
  • 使用istitle()方法判断字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
'Hello World'.istitle()
# True
'I am A Boy'.istitle()
# False
  • 使用swapcase()方法对字符串中所有的字符进行大小写互转,即小写变大写,大写变小写
'Abc'.swapcase()
# aBC
  • 使用join()方法连接字符串数组
a = 'hello world'.split()
'-'.join(a)
# hello-world
  • 使用find()方法判断一个字符串中是否含有某个子字符串,三个参数,第一个为必须,是指需要搜索的字符串,第二个和第三个参数则是指搜索的起始位置和终止位置,搜索得到则返回索引值,得不到则返回-1
'hello world'.find('llo')
# 2
'hello world'.find('lloe')
# -1
  • 使用endswith()和startswith()方法判断一个字符串是否是以某个字符串结尾、开头,参数和find()一致
'hello'.startswith('he')
# True
'hello'.endswith('lle')
# False
  • 反转字符串
a = lang[::-1]
# nohtyp
  • 使用count()方法获取某个字符在字符串中出现的次数
lang = 'aaa111223'
lang.count('a')
# 3
  • 使用index()方法获取某个字符在字符串中首次出现的位置的索引
lang.index('a')
# 0
lang.index('1')
# 3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容

  • Javascript有很多字符串的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,...
    顽皮的雪狐七七阅读 2,125评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,199评论 0 4
  • 在编写程序的过程中,不了避免的要用到字符串,所以String类的常用方法的用法是必须掌握的。学习一个类的使用方法最...
    Geg_Wuz阅读 1,234评论 0 4
  • 1 爱她,就要上她 哥,小丽要和我分手,可我真的很爱她? 一见面,文松就垂头丧气的对我说。 看他一脸委屈的样子,...
    合眼看世界阅读 1,931评论 0 1
  • 满江红,湘江之战感怀 文/烛光 八十三年,湘江上,岸边血染。回首望,仰天长叹,泪珠闪闪。八万多英雄血战,十之七战将...
    5937阅读 180评论 0 2