python中字元串的常見操作

来源:https://www.cnblogs.com/xxpythonxx/archive/2019/12/11/12026221.html
-Advertisement-
Play Games

1、find檢測str是否包含在mystr,如果是返回開始的索引值,否則返回 1 2、index和find一樣只不過,str不在mystr中會報一個異常 3、rfind、rindex從右往左找 4、count返回str在start和end之間,在mystr里出現的次數 5、replace把mystr ...


1、find檢測str是否包含在mystr,如果是返回開始的索引值,否則返回-1

In [5]: mystr='hello world itcast and hahaitcast'
In [6]: mystr.find('world')
Out[6]: 6
In [7]: mystr.find('heihei')
Out[7]: -1

2、index和find一樣只不過,str不在mystr中會報一個異常

In [8]: mystr.index('itcast')
Out[8]: 12
 
In [9]: mystr.index('heihei')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-9-2cd231cae32a> in <module>()
----> 1 mystr.index('heihei')
 
ValueError: substring not found

3、rfind、rindex從右往左找

In [10]: mystr.rfind('itcast')
Out[10]: 27
 
In [12]: mystr.rindex('itcast')
Out[12]: 27

4、count返回str在start和end之間,在mystr里出現的次數

In [13]: mystr.count('itcast')
Out[13]: 2

5、replace把mystr中的str1替換成str2,如果count指定則不超過count次數

In [18]: mystr
Out[18]: 'hello world itcast and hahaitcast'
 
In [19]: mystr.replace('world','World')
Out[19]: 'hello World itcast and hahaitcast'
 
In [21]: mystr.replace('itcast','xxxxx',1)
Out[21]: 'hello world xxxxx and hahaitcast'
 
In [22]: mystr.replace('itcast','xxxxx',2)
Out[22]: 'hello world xxxxx and hahaxxxxx'

6、split以str為分隔符切片mystr,如果maxsplit有指定值,則分隔maxsplit個子字元串

In [23]: mystr.split(' ')
Out[23]: ['hello', 'world', 'itcast', 'and', 'hahaitcast']
 
In [24]: mystr.split(' ',2)
Out[24]: ['hello', 'world', 'itcast and hahaitcast']

7、capitalize把字元串的第一個字元大寫

In [25]: mystr.capitalize()
Out[25]: 'Hello world itcast and hahaitcast'

8、title把字元串的每個單詞首字母大寫

n [26]: mystr.title()
Out[26]: 'Hello World Itcast And Hahaitcast'

9、startwith檢查字元串是不是以“xxx”開頭,如果是返回True,否則返回False

In [27]: mystr.startswith('hello')
Out[27]: True
 
In [28]: mystr.startswith('wee')
Out[28]: False

10、endwith檢查字元串是不是以“xxx”結尾,如果是返回True,否則返回False

In [29]: mystr.endswith('cast')
Out[29]: True
 
In [30]: mystr.endswith('amst')
Out[30]: False

11、lower轉換所有大寫字母為小寫

In [32]: mystr='HELLO WORLD ITCAST AND HAHAITCAST'
 
In [33]: mystr.lower()
Out[33]: 'hello world itcast and hahaitcast'

PS:遇到問題沒人解答?需要Python學習資料?可以加點擊下方鏈接自行獲取
note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76

12、upper轉換所有小寫字母為大寫

In [34]: mystr='hello world itcast and hahaitcast'
 
In [35]: mystr.upper()
Out[35]: 'HELLO WORLD ITCAST AND HAHAITCAST'

13、ljust返回一個原字元串左對齊,並使用空格填充至長度 width 的新字元串

[36]: mystr.ljust(50)
Out[36]: 'hello world itcast and hahaitcast '

14、center返回一個原字元串居中,並使用空格填充至長度 width 的新字元串

In [37]: mystr.center(50)
Out[37]: ' hello world itcast and hahaitcast '

15、rjust返回一個原字元串右對齊,並使用空格填充至長度 width 的新字元串

In [38]: mystr.rjust(50)
Out[38]: ' hello world itcast and hahaitcast'

16、lstrip刪除左邊的空白字元

In [39]: ly=' hello world '
 
In [40]: ly.lstrip()
Out[40]: 'hello world '

17、rstrip刪除右邊的空白字元

In [41]: ly.rstrip()
Out[41]: ' hello world'

18、strip刪除字元串兩端的空白字元

In [42]: ly.strip()
Out[42]: 'hello world'

19、partition把mystr以str分割成三部分,str前,str和str後

In [43]: mystr.partition('itcast')
Out[43]: ('hello world ', 'itcast', ' and hahaitcast')

20、rpartition類似於 partition()函數,不過是從右邊開始.

In [44]: mystr.rpartition('itcast')
Out[44]: ('hello world itcast and haha', 'itcast', '')

21、splitlines按照行分隔,返回一個包含各行作為元素的列表

In [51]: lyc='sadsa\nfasfs\nsadasd\nsad\nsd32dadas'
 
In [52]: lyc.splitlines()
Out[52]: ['sadsa', 'fasfs', 'sadasd', 'sad', 'sd32dadas']

22、isalpha如果 mystr 所有字元都是字母 則返回 True,否則返回 False

In [55]: lyc='sadsa\nfasfs\nsadasd\nsad\nsd32dadas'
 
In [56]: lyc.isalpha()
Out[56]: False
 
In [57]: lyc='sadsadsasa'
 
In [58]: lyc.isalpha()
Out[58]: True

23、isdigit如果 mystr 只包含數字則返回 True 否則返回 False.

In [61]: lyc='1213213'
 
In [62]: lyc.isd
lyc.isdecimal lyc.isdigit
 
In [62]: lyc.isdigit()
Out[62]: True
 
In [63]: lyc='sada123'
 
In [64]: lyc.isd
lyc.isdecimal lyc.isdigit
 
In [64]: lyc.isdigit()
Out[64]: False

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

-Advertisement-
Play Games
更多相關文章
  • 哈希表是個啥? 小白 : 慶哥,什麼是哈希表?這個哈希好熟悉,記得好像有HashMap和HashTable之類的吧,這是一樣的嘛?
  • 一、類之間的關係 1.泛化關係(UML圖:實線空心三角形箭頭,箭頭指向被繼承方) 類和類、介面與介面之間的繼承稱為泛化關係 public class A {} class B extends A{} public interface A{} class B extends A{} 2.實現關係(​U ...
  • 在開發web的時候,如果是以前已存在的項目,項目下載下來後,為了使用測試庫的數據,會直接將整個測試庫(如sqlite3)拿到本機來。這種情況下,如果執行的順序不對,很容易在執行migrate的時候出現資料庫已存在的錯誤: django.db.utils.OperationalError: (1050 ...
  • model詳解 Django中遵循 Code Frist 的原則,即:根據代碼中定義的類來自動生成資料庫表。 創建表 基本結構 from django.db import models # Create your models here. class userinfo(models.Model): ...
  • 第一步: 刪除該app名字下的migrations文件。 第二步: 進入資料庫,找到django_migrations的表,刪除該app名字的所有記錄。 delete from django_migrations; 第三步: python manage.py makemigrations pytho ...
  • 前兩天剛和媳婦兒從福岡旅游回來,這次久違的再去日本,感受良多啊! 首先是心情,之前是拿了老爸和自己所有的積蓄去上學,有一種為了人生未來而背水一戰的包袱在身上 結果遇到金融危機,沒有錢提前付下一年的學費也沒有時間找工作,最後不得不回國,失敗了! 這次和媳婦去玩,一切行程都是媳婦安排,從機票到大巴票到三 ...
  • Inversion of Control 將創建對象的權利交給框架,包括DI(Dependency Injection,依賴註入)和DL(Dependency Lookup,依賴查找),能削減電腦程式的耦合,即解除代碼中的依賴關係 應用 xml 1. 建立maven工程 2. 導入jar包,pom ...
  • python中的 和 ,能夠讓函數支持任意數量的參數,它們在函數定義和調用中,有著不同的目的 一. 打包參數 的作用:在函數定義中,收集所有的位置參數到一個新的元組,並將這個元組賦值給變數args 的作用:在函數定義中,收集關鍵字參數傳遞給一個字典,並將這個字典賦值給變數kwargs PS:遇到問題 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...