Python學習-字元串操作

来源:https://www.cnblogs.com/yangshijia/archive/2018/03/26/8653572.html
-Advertisement-
Play Games

字元串的常用操作包括但不限於以下操作: ...


字元串的常用操作包括但不限於以下操作:

字元串的替換、刪除、截取、複製、連接、比較、查找、分割等
1 #capitalize:字元串首字母大寫:capitalize-將字元串的首字母大寫,其他字母小寫
2 name = 'swhthaitun'
3 name.capitalize()
4 print(name.capitalize())
1 #casefold:字元串所有字母小寫:casefold-將字元串中所有的大寫字元轉換成小寫字元
2 name = 'HelloWorld'
3 name.casefold()    #將所有語言的字元轉換為小寫
4 name.lower()     #lower只對ASCII有效,對其他語言無效
5 print(name.casefold())
6 print(name.lower())
1 #center:字元串寬度填充,使用原有字元串+填充字元構成指定長度的新的字元串
2 name = 'swhthaitun'
3 #在原有字元串兩端填充相同數目的字元
4 print(name.center(15))
5 print(name.center(16,'*'))
6 name2 = 'HelloWorld'
7 print(name.center(20,'*'))
1 #count:統計某個字元在字元串中出現的次數,或者是在字元串的指定區間內完成上述操作
2 name = 'swhthaitun'
3 result = name.count('h')    
4 print(result)     #2
5 result2 = name.count('h',0,3)
6 print(result2)    #1
7 name2 = 'HelloWorld'
8 result3 = name2.count('W')    #不能換成'w',Python對大小寫敏感
9 print(result3)    #1
1 #encode:對字元串進行編碼操作
2 name = 'swhthaitun'
3 name.encode()
4 print(name.encode())    #b'swhthaitun'
1 #endwith:判斷字元串是否以某個字元或字元串結尾,返回值為布爾值
2 name = 'swhthaitun'
3 result1 = name.endswith('s')
4 print(result1)   #False
5 result2 = name.endswith('n')
6 print(result2)   #True
7 result3 = name.endswith('tun')
8 print(result3)   #True
1 #expandtabs:將製表符'\t'轉換成制定寬度的tab鍵分割,預設的tabsize=8
2 li = 'sw\tht'
3 li.expandtabs(4)
4 print(li.expandtabs(4))     #sw  ht
5 print(li.expandtabs())     #sw      ht
1 #find:在字元串中查找指定字元串,找不到事返回-1
2 name = 'swht'
3 name.find('s')
4 name.find('h')
5 name.find('a')
6 print(name.find('s'),name.find('h'),name.find('a'))   #0 2 -1
1 #format:格式化輸出字元串
2 li = "I'm {},{}"    #其中{}為占位符
3 result = li.format('swht','歡迎來中國')
4 print(result)    #I'm swht,歡迎來中國
1 #__contains__:判斷字元串中是否包含某段字元,返回值為布爾值
2 name = 'swhtkkskjj'
3 result = name.__contains__('swht')
4 print(result)    #True
1 #index:在字元串中查找指定的字元串,找不到時直接報錯
2 name = 'swhthaitun'
3 result1 = name.index('h')
4 #result2 = name.index('m')
5 print(result1)    #2
6 #print(result2)     #字元串中沒有'm',異常報錯
1 #join:字元串拼接
2 name = 'swhthaitun'
3 '*'.join(name)
4 name.join('ab')
5 print(name.join('ab'))    #aswhthaitunb
6 print('*'.join(name))     #s*w*h*t*h*a*i*t*u*n
1 #isalnum:檢查判斷字元串是否包含字母或數字
2 name1 = 'swhthaitun'
3 name2 = '12345'
4 result1 = name1.isalnum()
5 result2 = name2.isalnum()
6 print(result1)    #True
7 print(result2)    #True
1 #isalpha:檢測判斷字元串是否完全由字母組成
2 name = 'swhthaitun'
3 result = name.isalpha()
4 print(result)    #True
1 #isdecimal:檢查字元串是否只包含十進位字元
2 name = '123456'
3 result = name.isdecimal()
4 print(result)     #True
1 # isdecimal()
2 # True: Unicode數字,,全形數字(雙位元組)
3 # False: 羅馬數字,漢字數字
4 # Error: byte數字(單位元組)
1 #isdigit:檢測字元串是否只有數字組成
2 name = '12345'
3 result = name.isdigit()
4 print(result)    #True
1 # isdigit()
2 # True: Unicode數字,byte數字(單位元組),全形數字(雙位元組),羅馬數字
3 # False: 漢字數字
4 # Error: 無
1 #isidentifier:檢測字元串是否以字母開頭
2 name = 'swhthaitun'
3 result = name.isidentifier()
4 print(result)   #True
5 
6 name2 = '2swhthaitun'
7 result2 = name2.isidentifier()
8 print(result2)     #False 
1 #isnumeric:檢測字元串是否只有數字組成,這種方法只針對於unicode對象
2 name = 'swhthaitun'
3 result = name.isnumeric()
4 print(result)     #False
5 
6 name2 = '123545'
7 result2 = name2.isnumeric()
8 print(result2)    #True  
1 #isprintable:判斷字元串中所有字元是否都屬於可見字元
2 name = '\tPuppy'
3 result = name.isprintable()
4 print(result)      #False
5 
6 name2 = 'swhthaitun'
7 result2 = name2.isprintable()
8 print(result2)      #True   
 1 #isspace:檢測字元串是否全部為空格
 2 #istitle:檢測字元串中每一個連續的字元串的的首字母是否大寫
 3 #name = 'Puppy'    #True
 4 #name = 'Puppy Abc'    #True
 5 #name = '   Puppy'    #True
 6 # name = 'a Puppy'    #False
 7 # print(name.istitle())
 8 
 9 #isupper:判斷字元串中所有的字母是否都是大寫字母
10 #lower:將所有字母轉換為小寫字母
11 #lstrip:去除字元串左邊開頭的空格
12 #rstrip:去除字元串右邊結尾的空格
13 #strip:去除字元串兩邊的空格
1 #maketrans:用於創建字元映射的轉換表,對於接收兩個參數的調用方式,第一個參數是字元串,表示需要轉換的字元
2 #第二個參數表示字元串需要轉換的目標(沒怎麼看懂)
3 intab = 'swhtr'
4 outtab = '12345'
5 name = 'swhtr hjjksknsnjmk'
6 print(name.maketrans(intab,outtab))   #{115: 49, 119: 50, 104: 51, 116: 52, 114: 53}
1 #partition:根據指定的分隔符對字元串進行分割
2 name = 'ls'
3 li = 'hhsslswhtolljm'
4 result = li.partition(name)
5 print(result)     #('hhss', 'ls', 'whtolljm')
 1 #replace:將字元串中的old(舊字元串)替換成new(新字元串),如果指定第三個參數max,則替換不超過max次
 2 '''語法:str.replace(old, new[, max])
 3 參數:old -- 將被替換的子字元串。
 4       new -- 新字元串,用於替換old子字元串。
 5       max -- 可選字元串, 替換不超過 max 次'''
 6 str = 'this is string example.....wow!!! this is really string'
 7 str_new = str.replace('is','was')
 8 str_new2 = str.replace('is','was',3)
 9 print(str_new)    #thwas was string example.....wow!!! thwas was really string
10 print(str_new2)   #thwas was string example.....wow!!! thwas is really string  
1 #split:字元串分割,預設是空格,
2 #語法:str.split(str="", num=string.count(str)).
3 #str -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。num--分割次數
4 name = 'swhthaitun'
5 result = name.split('h')
6 result2 = name.split('h',1)
7 print(result)   #['sw', 't', 'aitun']
8 print(result2)  #['sw', 'thaitun']
1 #__add__:在字元串後面增加指定的字元或者字元串
2 name = 'swht'
3 result = name.__add__('e')
4 print(result)     #swhte
5 li = 'hjh'
6 result2 = name.__add__(li)
7 print(result2)     #swhthjh
1 #__eq__:判斷字元串是否相等,返回值為布爾
2 name = 'swht'
3 li = 'test'
4 result = name.__eq__(li)
5 print(result)    #False
# isdecimal()
# True: Unicode數字,,全形數字(雙位元組)
# False: 羅馬數字,漢字數字
# Error: byte數字(單位元組)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、天天向上的力量 C 一年365天,以第1天的能力值為基數,記為1.0。當好好學習時,能力值相比前一天提高N‰;當沒有學習時,由於遺忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下來的能力值相差多少呢?其中,N的取值範圍是1到10,N可以是小數。 獲得用戶輸入N,計算每天努力和每天放任36 ...
  • 1.應用參數,在web.xml配置,所有Servlet共用 服務端獲取配置的數據,實現Servlet介面 2.私有參數,在web.xml配置 服務端獲取參數數據,實現Servlet介面 3."會話“參數 ClassA設置參數值 ClassB獲取參數值 4.“行為”參數,在HTML、Jsp等前端頁面編 ...
  • 1,補充一點列表傳參需要註意的地方:列表傳參,是傳引用 執行結果: 2,我們可以在函數裡面對傳遞的列表參數,做一個拷貝,就不會是傳引用了 執行後 集合:沒有順序的概念,不能進行索引或者切片操作 1、創建集合. set():可變的 不可變的frozenset() 2,集合add與update操作 up ...
  • 近一段時間在圖像演算法以及音頻演算法之間來回游走。 經常有一些需求,需要將音頻進行採樣轉碼處理。 現有的知名開源庫,諸如: webrtc , sox等, 代碼閱讀起來實在鬧心。 而音頻重採樣其實也就是插值演算法。 與圖像方面的插值演算法沒有太大的區別。 基於雙線性插值的思路。 博主簡單實現一個簡潔的重採樣算 ...
  • 第一步:安裝python 1 首先進入網站下載:點擊打開鏈接(或自己輸入網址https://www.python.org/downloads/),進入之後如下圖,選擇圖中紅色圈中區域進行下載 2 雙擊exe文件進行安裝,如下圖,並按照圈中區域進行設置,切記要勾選打鉤的框,然後再點擊Customize ...
  • C/C++,dynamic_cast, static_cast, const_cast, 大端,小端 ...
  • 結果: 0 jack 1 jill 2 jease 3 feank dtype: object Index([' Column A', ' Column B'], dtype='object') ['jack ' 'jill' 'jease ' 'feank'] [' jack' 'jill' ' ...
  • 記錄背景:最近由於想實現GMIItoRGMII的功能,因此需要調用ODDR原語。 ODDR:Dedicated Dual Data Rate (DDR) Output Register 通過ODDR把兩路單端的數據合併到一路上輸出,上下沿同時輸出數據,上沿輸出a路下沿輸出b路;如果兩路輸入信號一路恆 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...