字符串

# -*- coding: utf-8 -*-
# @Time    : 2019/11/7 10:18
# @Author  : John
# @Email   : 2398344557@qq.com
# @File    : 字符串.py
# @Software: PyCharm
  • 字符串的切片
import string
words = string.ascii_lowercase[:9]    # 切片輸出前9個小寫的ascii碼
print(words)
# —— abcdefghi
print(words[3])
# —— d
print(words[2:4])
# —— cd
print(words[:])    # 默認返回整個字符串暇仲,但只是淺復(fù)制
# —— abcdefghi
print(words[::])    # 默認返回整個字符串务甥,但只是淺復(fù)制
# —— abcdefghi
print(words[-2:])
# —— hi
print(words[-2:2])    # 啥都沒赎离,空值
#
print(words[::-1])
# —— ihgfedcba
  • 字符串中四個比較重要的操作方法(內(nèi)置函數(shù))
# ****strip()炸客、split()泊柬、join()、replace()****
  • 字符串常用的操作方法
  1. 大小寫處理:upper()和lower()
# 1. upper()和lower()
# 常用指數(shù):***
str1 = 'www.NEUEDU.com'
str2 = str1.upper()    # 全部大寫(已是大寫的會直接輸出無需處理)
print(str2)
# —— WWW.NEUEDU.COM
str3 = str1.lower()    # 全部小寫(已是小寫的會直接輸出無需處理)
print(str3)
# —— www.neuedu.com
  1. 判斷開頭結(jié)尾:startswith()和startswith()
# 2. startswith(prefix, start, end)和startswith(suffix, start, end)
# 常用指數(shù):***
str1 = 'www.eeeNEUEDU.com'
print(str1.startswith('www'))    # 判斷是否以www開頭
# —— True
print(str1.endswith('.com'))    # 判斷是否以.com結(jié)尾
# —— True
print(str1.startswith('eee', 4, 6))    # 左閉右開
# —— False
  1. 查找元素:find()和index()
# 3. 查找元素:find(sub, _start, _end)和index(sub, _start, _end)
# 常用指數(shù):****
str1 = 'www.eeeNEUEDU.com'
print(str1.find('h'))    # 尋找字符串中的h元素皆的,找不到時返回負一
# —— -1
print(str1.find('w'))    # 從左邊開始,獲取指定元素首次出現(xiàn)的下標
# —— 0
print(str1.find('N'))
# —— 7
print(str1.find('NEUEDU'))    # 不會報錯怨酝,但只會返回輸入字符串中首字母首次出現(xiàn)的下標
# —— 7
print(str1.rfind('w'))    # 從右邊開始,獲取指定元素首次出現(xiàn)的下標
# —— 2
# ------------------------
# print(str1.index('h'))    # index找不到這個子串時會報錯
# —— ValueError: substring not found
print(str1.index('w'))
# —— 0
print(str1.find('N'))
# —— 7
print(str1.index('NEUEDU'))    # 不會報錯那先,但只會返回輸入字符串中首字母首次出現(xiàn)的下標
# —— 7
print(str1.rindex('w'))    # 從右邊開始农猬,獲取指定元素首次出現(xiàn)的下標
# —— 2
  1. 清除占位符:strip()
# 4. strip(chars):默認取出字符前后兩端的空格、換行售淡、tab
# # 常用指數(shù):*****
str1 = '    \n .com \t    '    # 16=4+2+1+4+1+4
print(len(str1))
# —— 16
print(len(str1.strip()))    # 剩.com
# —— 4
str2 = 'aabbccddff'
str2 = str2.strip('aa')    # 刪除指定的首字符串(指定為左端)
print(str2)
# —— bbccddff
str3 = 'aabbccddff'
str3 = str3.lstrip('ff')    # 刪除指定的首字符串(指定為左端)斤葱,沒有時輸出原字符串
print(str3)
# —— aabbccddff
str4 = 'aabbccddff'
str4 = str4.rstrip('ff')    # 刪除指定的首字符串(指定為左端)
print(str4)
# —— aabbccdd
  1. 分隔成列表:split()和splitlines()
# 5. split(sep, maxsplit):把字符串分隔成列表,默認是以空格進行分割
# 常用指數(shù):*****
str1 = 'life is short, use Pyhton.'
print(str1.split())    # 英文版的jieba分詞揖闸,默認對空格進行分割
# —— ['life', 'is', 'short,', 'use', 'Pyhton.']
print(str1.split(','))    # 指定對逗號進行分割
# —— ['life is short', ' use Pyhton.']
str2 = 'life;is;short,;use;Pyhton,; '
print(str2.split(';', 3))    # 指定分割多少個
# —— ['life', 'is', 'short,', 'use;Pyhton,; ']
print(str2.split(';', 4))    # 指定分割多少個
# —— ['life', 'is', 'short,', 'use', 'Pyhton,; ']
print(str2.split(';', 5))    # 指定分割多少個
# —— ['life', 'is', 'short,', 'use', 'Pyhton,', ' ']
print(str2.split(';', 3)[0])
# —— life

# 14.splitlines():按照行分割揍堕,返回包含按照行分割的元素列表(和第五合并)
# 常用指數(shù):**
str2 = 'www.\nwww.NEUEDU.com'
print(str2)
# —— www.NEUEDU.com
print(str2.splitlines())
# —— ['www.', 'www.NEUEDU.com']
  1. 把列表轉(zhuǎn)換成字符串:join()
# 6. join(iterable):把列表轉(zhuǎn)換成字符串
# 常用指數(shù):*****
str1 = 'life is short, use Pyhton.'
list1 = str1.split()    # list1里面元素必須全是字符串
print(list1)
# —— ['life', 'is', 'short,', 'use', 'Pyhton.']
print(''.join(list1))    # 無縫連接
# —— lifeisshort,usePyhton.
print(' '.join(list1))    # 空格隔開
# —— life is short, use Pyhton.
print('_'.join(list1))
# —— life_is_short,_use_Pyhton.
print('//'.join(list1))
# —— life//is//short,//use//Pyhton.
  1. is系列
# 7. is系列
# 常用指數(shù):***
name = 'Xuebi520'
print(name.isdigit())    # 判斷所有的字符串是否為數(shù)字
# —— False
print(name.isalpha())    # 判斷所有的字符串是否為字母
# —— False
print(name.isalnum())    # 判斷所有的字符串是否為數(shù)字或者是字母
# —— True
print(name.islower())    # 判斷所有的字符串是否為小寫字母
# —— False
print(name.isupper())    # 判斷所有的字符串是否為大寫字母
# —— False
print(name.istitle())    # 判斷所有的字符串是否為大寫字母開頭
# —— True
print(name.isspace())    # 判斷所有的字符串是否為空白字符
# —— False
  1. 計算某個字符出現(xiàn)的次數(shù):count()
# 8. count(x, _start, _end):計算某個字符出現(xiàn)的次數(shù)
# 常用指數(shù):****
name = 'Xuebi7533'
print(name.count('3'))
# —— 2
  1. 替換指定的字符:replace()
# 9. replace(old, new, count):替換指定的字符
# 常用指數(shù):*****
name = '7533Xuebi7533'
name2 = name.replace('7533', '')
print(name2)
# —— Xuebi
name3 = name.replace('7533', '', 1)    # 替換第一次出現(xiàn)的
print(name3)
# —— Xuebi7533
  1. 首字母大寫:capitalize()
# 10. capitalize():首字母大寫
# 常用指數(shù):***
name = 'xuebi7533'
print(name.capitalize())
# —— xuebi7533
  1. 左中右對齊: ljuest()、center()汤纸、rjuest()
# 11. center(width, fillchar):將字符串居中
# 常用指數(shù):**
# 參數(shù)可以設(shè)置字符串總長度衩茸,可以用*進行填充
name = 'xuebi7533'
print(name.center(20))
# ——      xuebi7533
print(name.center(20, '*'))
# —— *****xuebi7533******
print(len(name.center(20, '*')))
# —— 20
name2 = 'xuebi'
print(name2.center(20))
# ——        xuebi
print(name2.center(20, '*'))
# —— *******xuebi********
print(len(name2.center(20, '*')))
# —— 20

# 15. ljust()和rjust()    (和第11合并)
# 常用指數(shù):**
str1 = 'neuedu'
print(len(str1))
# —— 6
print(str1.ljust(20, '*'))    # 左對齊
# —— neuedu**************
print(len(str1.ljust(20)))
# —— 20
print(str1.rjust(20, '*'))    # 右對齊
# —— **************neuedu
print(len(str1.rjust(20)))
# —— 20
  1. 非字母隔開的每個單詞的首字母大寫:title()
# 12. title():非字母隔開的每個單詞的首字母大寫
# 常用指數(shù):*
name = 'xue bi, &w7533t=f'
print(name.title())
# —— Xue Bi, &W7533T=F
  1. 分割三部分:partition()
# 13. partition(sep):將一個字符串分割成三部分(前、中贮泞、后)
# 常用指數(shù):**
str1 = 'www.www.NEUEDU.com'
print(str1.partition('www'))    # 返回的是元組
# —— ('', 'www', '.www.NEUEDU.com')
print(str1.rpartition('www'))
# —— ('www.', 'www', '.NEUEDU.com')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末楞慈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子啃擦,更是在濱河造成了極大的恐慌囊蓝,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件令蛉,死亡現(xiàn)場離奇詭異聚霜,居然都是意外死亡,警方通過查閱死者的電腦和手機珠叔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門蝎宇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人运杭,你說我怎么就攤上這事夫啊『洌” “怎么了辆憔?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長报嵌。 經(jīng)常有香客問我虱咧,道長,這世上最難降的妖魔是什么锚国? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任腕巡,我火速辦了婚禮,結(jié)果婚禮上血筑,老公的妹妹穿的比我還像新娘绘沉。我一直安慰自己煎楣,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布车伞。 她就那樣靜靜地躺著择懂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪另玖。 梳的紋絲不亂的頭發(fā)上困曙,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音谦去,去河邊找鬼慷丽。 笑死,一個胖子當著我的面吹牛鳄哭,可吹牛的內(nèi)容都是我干的要糊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼窃诉,長吁一口氣:“原來是場噩夢啊……” “哼杨耙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起飘痛,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤珊膜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宣脉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體车柠,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年塑猖,在試婚紗的時候發(fā)現(xiàn)自己被綠了竹祷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡羊苟,死狀恐怖塑陵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜡励,我是刑警寧澤令花,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站凉倚,受9級特大地震影響兼都,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稽寒,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一扮碧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦慎王、人聲如沸蚓土。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽北戏。三九已至,卻和暖如春漫蛔,著一層夾襖步出監(jiān)牢的瞬間嗜愈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工莽龟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蠕嫁,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓毯盈,卻偏偏與公主長得像剃毒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子搂赋,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容