07字元串操作

来源:https://www.cnblogs.com/daguo118/archive/2023/03/06/17185321.html
-Advertisement-
Play Games

字元串(str) 字元串的下標(索引) str_data = "python" p y t h o n 0 1 2 3 4 5 -6 -5 -4 -3 -2 -1 索引就是某數據在序列的位置 正索引:從左至右,從0開始 負索引:從右至左,從-1開始 其中:str_data[0] = str_data ...


字元串(str)

字元串的下標(索引)

str_data = "python"

p y t h o n

0 1 2 3 4 5

-6 -5 -4 -3 -2 -1

索引就是某數據在序列的位置

  • 正索引:從左至右,從0開始
  • 負索引:從右至左,從-1開始
  • 其中:str_data[0] = str_data [-6] = 'p',str_data[1] =str_data[-5],......

字元串的切片

切片即給定一個字元串,從頭部或尾部截取指定數量的字元串。

語法:str[start_index: stop_index: step]

  • 起始位置 : start_index (空時預設為 0)
  • 終點位置: stop_index (空時預設為列表長度) 需要註意起點與終點索引的位置關係。
  • 步長: step (空時預設為 1,不能為 0)

str_data[0:2] = str_data = [-6:-4] "py",......

若要取"po" = str_data[0:5:4]

字元串倒置:

  • str_data[::-1] = "nohtyp"

ps:1)字元串切片範圍需要滿足左閉右開;2)起始值到終止值與步長的方向必須一致

字元串常用操作方法

重要字元串方法

方法 描述
join() 將序列中的元素以指定的字元連接生成一個新的字元串
replace() 返回字元串,其中指定的值被替換為指定的值
split() 在指定的分隔符處拆分字元串並返回列表
splitlines() 在換行符處拆分字元串並返回列表
strip() 返回字元串的裁剪版本,預設是去除字元串兩邊的空白符 \r \t \n
# 字元串是不可變數據類型,這些方法不會改變原有的數據

# join()
str_data = "python"
print('-'.join(str_data))   # p-y-t-h-o-n
print(str_data)     # python

# replace()(不會修改字元串)
# 語法:字元串.replace(字元串1,字元串2)
# 功能:將字元串內的全部:字元串1,替換為字元串2
# 註意:不是修改字元串本身,而是得到了一個新字元串
str_data = "python"
new_str = str_data.replace('n', 'a')
print(new_str)      # pythoa
print(str_data)     # python

# split()(不會修改字元串)
# 語法:字元串.split(分隔字元串)
# 功能:按照指定的分隔符字元串,將字元串劃分為多個字元串,並存入列表對象
# 註意:字元串本身不變,而是得到了一個列表對象
str_data = "hello world"
new_str = str_data.split()  # 預設對空格進行分割
print(new_str)      # ['hello', 'world']
print(str_data)     # hello world

# splitlines()(不會修改字元串)
str_data = "hello\nworld"
new_str = str_data.splitlines()
print(new_str)  # ['hello', 'world']

# strip()字元串的規整操作
# 字元串的規整操作(不傳入參數,去除前後空格)
# 語法:字元串.strip()
my_str = "  python  "
print(my_str.strip())	# 結果: "python"	
# 字元串的規整操作(去除前後指定字元串)
# 語法:字元串.strip(字元串)
my_str = "12python21"
print(my_str.strip("12"))		# 結果:"python"
# 註意:傳入的是“12”其實就是:”1”和”2”都會移除,是按照單個字元。

常用字元串方法

方法 描述
upper() 把字元串轉換為大寫
zfill() 在字元串的開頭填充指定數量的 0 值
lower() 把字元串轉換為小寫
count() 返回指定值在字元串中出現的次數
find() 在字元串中搜索指定的值並返回它被找到的位置
format() 格式化字元串中的指定值
index() 在字元串中搜索指定的值並返回它被找到的位置
isdigit() 如果字元串中的所有字元都是數字,則返回 True

其他字元串方法

方法 描述
capitalize() 把首字元轉換為大寫
casefold() 把字元串轉換為小寫
center() 返回居中的字元串
encode() 返回字元串的編碼版本
endswith() 如果字元串以指定值結尾,則返回 true
expandtabs() 設置字元串的 tab 尺寸
isalnum() 如果字元串中的所有字元都是字母數字,則返回 True
isalpha() 如果字元串中的所有字元都在字母表中,則返回 True
isdecimal() 如果字元串中的所有字元都是小數,則返回 True
isidentifier() 如果字元串是標識符,則返回 True
islower() 如果字元串中的所有字元都是小寫,則返回 True
isnumeric() 如果字元串中的所有字元都是數,則返回 True
swapcase() 切換大小寫,小寫成為大寫,反之亦然
title() 把每個單詞的首字元轉換為大寫
translate() 返回被轉換的字元串
isprintable() 如果字元串中的所有字元都是可列印的,則返回 True
isspace() 如果字元串中的所有字元都是空白字元,則返回 True
istitle() 如果字元串遵循標題規則,則返回 True
isupper() 如果字元串中的所有字元都是大寫,則返回 True
ljust() 返回字元串的左對齊版本
lstrip() 返回字元串的左修剪版本
maketrans() 返回在轉換中使用的轉換表
partition() 返回元組,其中的字元串被分為三部分。
rfind() 在字元串中搜索指定的值,並返回它被找到的最後位
rindex() 在字元串中搜索指定的值,並返回它被找到的最後位置
rjust() 返回字元串的右對齊版本
rpartition() 返回元組,其中字元串分為三部分
rsplit() 在指定的分隔符處拆分字元串,並返回列表
rstrip() 返回字元串的右邊修剪版本
startswith() 如果以指定值開頭的字元串,則返回 true

本文來自博客園,作者:大-鍋,轉載請註明原文鏈接:https://www.cnblogs.com/daguo118/p/17185321.html


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

-Advertisement-
Play Games
更多相關文章
  • 最近公司組織架構調整,整個組換到新部門,需要將原來組內的項目代碼,全部遷移到新的 group 中去(公司用的 gitlab 伺服器),要求保留所有的提交記錄、分支和標簽。我當然知道 Gitlab 本身是支持創建倉庫時通過鏈接導入的,但前提是管理員開啟相關功能。我們此處只講命令遷移方案。 ...
  • ECS全稱Entity-Component-System,即實體-組件-系統。是一種面向數據(Data-Oriented Programming)的編程架構模式。本文介紹了ECS架構的基本思想,特點推論,細節討論、代碼原型示例,歡迎大家留言討論! ...
  • 前言:記得很久之前,去面試過位元組跳動。被三面的面試官問了一道場景設計題目:如何設計一個高併發系統。當時我回答得比較粗糙,最近回想起來,所以整理了設計高併發系統的15個錦囊,相信大家看完會有幫助的。 ...
  • 不能否認,微軟Azure在TTS(text-to-speech文字轉語音)這個人工智慧細分領域的影響力是統治級的,一如ChatGPT在NLP領域的隨心所欲,予取予求。君不見幾乎所有的抖音營銷號口播均採用微軟的語音合成技術,其影響力由此可見一斑,僅有的白璧微瑕之處就是價格略高,雖然國內也可以使用科大訊 ...
  • 1. CPU相關代碼 1.1. Advanced Vector Extensions 1.1.1. AVX 1.1.2. 2013年,Intel為Haswell以及之後的晶元引入了AVX2 1.1.3. 2016年,Intel又引入了AVX-512指令 1.1.4. JDK 8不支持這些指令 1.1 ...
  • 事情是這樣的,昨天去表弟家,用了下他的電腦,不小心點到了他硬碟里隱藏的秘密,本來我只需要用幾分鐘電腦的,害得我硬是在電腦旁坐了幾個小時~ 還好他爸媽不在家,不然表弟又要被毒打一頓! 為了防止表弟的秘密被髮現,從而被賞賜一頓男女混合雙打,於是我用Python把他所有的視頻都給打上了萬惡的馬賽克。 我想 ...
  • 前面我們介紹了組成程式的各種基本元素,看到瞭如何把基本過程和基本數據組合起來,構造出複合的實體。不過對於設計程式而言,這些手段還不夠,我們還需要一些能夠幫助我們構造起模塊化(modular)的大型系統的策略。所謂模塊化,也即使這些系統能夠“自然地”劃分為一些內聚(coherent)的部分,使這些部分... ...
  • Qt 學習筆記全系列傳送門: Qt 學習筆記 - 第一章 - 快速開始、信號與槽 【本章】Qt 學習筆記 - 第二章 - 添加圖片、佈局、界面切換 1、給 Qt 工程添加圖片 註意:不要隨意更改所需圖片的尾碼,否則可能導致無法正常使用,出現*Image format not supported*文件 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...