目錄
刪除字元後的所有內容,保留分隔符號
刪除最後一次出現的字元後的所有內容
刪除最後一次出現後的所有內容,保留分隔符號
使用 str.partition() 刪除字元後的所有內容
在Python 中刪除字串中字元之前的所有內容
處理角色不存在的場景
刪除最後一次出現的字元之前的所有內容
使用rsplit() 刪除字元最後一次出現之前的所有內容
使用 rpartition() 删除字符最后一次出现之前的所有内容
首頁 後端開發 Python教學 Python怎麼刪除指定字元之前或之後所有內容

Python怎麼刪除指定字元之前或之後所有內容

May 01, 2023 pm 07:10 PM
python

my_str = 'fql!jiyik!com'

separator = '!'

result = my_str.split(separator, 1)[0]
print(result)  # ????️ 'fql'
登入後複製

我們使用 str.split() 方法刪除字元(範例中的!)之後的所有內容。

str.split() 方法使用定界符將字串拆分為子字串清單。

此方法採用以下2 個參數:

  • separator 每次出現分隔符號時將字串拆分為子字串

  • #maxsplit 最多完成maxsplit 拆分(可選)

如果在字串中找不到分隔符,則傳回僅包含1 個元素的清單。

我們將 maxsplit 參數設為 1,因為我們只需要拆分字串一次。

此範例刪除字串中該字元第一次出現後的所有內容。

my_str = 'fql!jiyik!com'


separator = '!'
result_1 = my_str.split(separator, 1)[0]
print(result_1)  # ????️ 'fql'

# ????️ ['fql', 'jiyik!com']
print(my_str.split(separator, 1))
登入後複製

刪除字元後的所有內容,保留分隔符號

請注意 ,分隔符號不包含在字串中。如果需要包含它,請使用加法 ( ) 運算子。

my_str = 'fql!jiyik!com'

# ✅ 删除字符后的所有内容,保留分隔符
separator = '!'

result = my_str.split(separator, 1)[0] + separator
print(result)  # ????️ fql!
登入後複製

加法 運算子可用於在 Python 中連接字串。

刪除最後一次出現的字元後的所有內容

如果我們需要刪除字串中最後一次出現該字元之後的所有內容,請使用 str.rsplit() 方法。

my_str = 'fql!jiyik!com'

separator = '!'

# ✅ 删除字符最后一次出现后的所有内容
result = my_str.rsplit(separator, 1)[0]
print(result)  # ????️ 'fql!jiyik'
登入後複製

除了從右側拆分外,rsplit() 的行為類似於 split()。

str.rsplit() 方法從右邊拆分字串,將 maxsplit 設為 1 時,它只拆分一次。

刪除最後一次出現後的所有內容,保留分隔符號

如果我們需要包括您拆分的字符,請使用加法運算符 ( )。

my_str = 'fql!jiyik!com'

separator = '!'

result = my_str.rsplit(separator, 1)[0] + separator
print(result)  # ????️ 'fql!jiyik!'
登入後複製

使用 str.partition() 刪除字元後的所有內容

我們也可以使用 str.partition() 方法刪除字串中特定字元後的所有內容。

my_str = 'fql!jiyik!com'
separator = '!'

result = my_str.partition(separator)[0]
print(result)  # ????️ 'fql'

result = ''.join(my_str.partition(separator)[0:2])
print(result)  # ????️ 'fql!'
登入後複製

str.partition 方法在第一次出現提供的分隔符號時拆分字串。

此方法傳回一個包含 3 個元素的元組 - 分隔符號之前的部分、分隔符號和分隔符號之後的部分。

my_str = 'fql!jiyik!com'
separator = '!'

# ????️ ('fql', '!', 'jiyik!com')
print(my_str.partition(separator))
登入後複製

如果在字串中找不到分隔符,則該方法傳回包含該字串的元組,後面跟著 2 個空字串。

如果我們需要在結果中包含分隔符,請使用 str.join() 方法連接第一個和第二個清單項目。

my_str = 'fql!jiyik!com'
separator = '!'

result = ''.join(my_str.partition(separator)[0:2])
print(result)  # ????️ 'fql!'
登入後複製

str.join 方法將一個可迭代物件作為參數並傳回一個字串,該字串是可迭代物件中字串的串聯。

呼叫該方法的字串用作元素之間的分隔符號。

在Python 中刪除字串中字元之前的所有內容

要刪除字串中某個字元之前的所有內容:

  • 使用str.find() 方法取得字元的索引。

  • 使用字串切片並將起始索引設定為字元的索引。

  • 新字串將不包含前面的字元。

my_str = 'apple, banana'

result = my_str[my_str.find('b'):]
print(result)  # ????️ banana
登入後複製

str.find 方法傳回字串中提供的子字串第一次出現的索引。

我們使用字串切片來取得原始字串的一部分,該部分從字元的索引開始,一直持續到字串的結尾。

請注意 ,如果在字串中找不到子字串,則 str.find() 方法傳回 -1。

處理角色不存在的場景

我們可以處理 find() 方法在 if/else 語句中傳回 -1 的情況。

my_str = 'apple, banana'

index = my_str.find('b')
print(index) # ????️ 7

if index != -1:
    result = my_str[index:]
else:
    result = my_str
    # ????️ alternatively raise an error

print(result) # ????️ 'banana'
登入後複製

這是提供的字元不在字串中的情況的範例。

my_str = 'apple, banana'

index = my_str.find('z')
print(index)  # ????️ -1

if index != -1:
    result = my_str[index:]
else:
    result = my_str
    # ????️ alternatively raise an error

print(result)  # ????️ 'apple, banana'
登入後複製

我們的 else 語句將結果變數指派給整個字串,但是,可以引發例外。

my_str = 'apple, banana'

index = my_str.find('z')
print(index)  # ????️ -1

if index != -1:
    result = my_str[index:]
else:
    # ????️ this runs
    raise IndexError('provided character not in string')
登入後複製

刪除最後一次出現的字元之前的所有內容

如果我們需要刪除最後一次出現的字元之前的所有內容,請使用 str.rfind() 方法。

my_str = 'apple,banana,bear'

result = my_str[my_str.rfind('b'):]

print(result) # ????️ 'bear'
登入後複製

str.rfind 方法傳回字串中找到提供的子字串的最高索引。

如果字串中不包含子字串,則該方法傳回 -1。

我們可以使用 if/else 語句處理字元不存在於字串中的情況。

my_str = 'apple,banana,bear'

index = my_str.rfind('b')

if index != -1:
    result = my_str[index:]
else:
    result = my_str

print(result)  # ????️ 'bear'
登入後複製

如果 else 區塊運行,我們將結果變數設定為整個字串。

或者,我們可以在 else 區塊中引發錯誤,例如 raise IndexError('your message here')。

我們也可以使用 str.rsplit() 方法刪除最後一次出現的字元之前的所有內容。

使用rsplit() 刪除字元最後一次出現之前的所有內容

要刪除最後一次出現的字元之前的所有內容:

  • 使用str.rsplit() 方法從右邊拆分字串。

  • 存取索引 1 處的清單項目。

  • 結果將是一個字串,其中包含最後一次出現該字元之後的所有內容。

my_str = 'example.com/articles/python'

result = my_str.rsplit('/', 1)[1]
print(result)  # ????️ 'python'

# ????️ 如果你想在结果中包含这个字符
result_2 = '/' + my_str.rsplit('/', 1)[1]
print(result_2)  # ????️ '/python'

# ????️ ['example.com/articles', 'python']
print(my_str.rsplit('/', 1))
登入後複製

我們使用 str.rsplit() 方法刪除最後一個字元出現之前的所有內容。

str.rsplit 方法使用提供的分隔符號作為分隔符號字串傳回字串中的單字清單。

my_str = 'one two three'

print(my_str.rsplit(' '))  # ????️ ['one', 'two', 'three']
print(my_str.rsplit(' ', 1))  # ????️ ['one two', 'three']
登入後複製

此方法採用以下2 個參數:

  • separator 每次出現分隔符號時將字串拆分為子字串

  • #maxsplit 最多做maxsplit的分裂,最右邊的(可選)

#除了從右側拆分外,rsplit() 的行為類似於split() 。

请注意 ,我们为 maxsplit 参数提供了值 1,因为我们只想从右侧拆分字符串一次。

my_str = 'example.com/articles/python'

result = my_str.rsplit('/', 1)[1]
print(result)  # ????️ 'python'

# ????️ ['example.com/articles', 'python']
print(my_str.rsplit('/', 1))
登入後複製

最后一步是访问索引 1 处的列表元素,以获取包含指定字符最后一次出现之后的所有内容的字符串。

如果要在结果中包含该字符,请使用加法 + 运算符。

my_str = 'example.com/articles/python'

result = '/' + my_str.rsplit('/', 1)[1]
print(result)  # ????️ '/python'
登入後複製

使用 rpartition() 删除字符最后一次出现之前的所有内容

或者,我们可以使用 str.rpartition() 方法。

my_str = 'example.com/articles/python'

result = my_str.rpartition('/')[2]
print(result)  # ????️ 'python'

# ????️ ('example.com/articles', '/', 'python')
print(my_str.rpartition('/'))
登入後複製

str.rpartition 方法在提供的分隔符的最后一次出现处拆分字符串。

该方法返回一个包含 3 个元素的元组 - 分隔符之前的部分、分隔符和分隔符之后的部分。

如果在字符串中找不到分隔符,则该方法返回一个包含两个空字符串的元组,后跟字符串本身。

如果需要在结果中包含分隔符,请使用 str.join() 方法连接第二个和第三个列表项。

my_str = 'example.com/articles/python'

result = ''.join(my_str.rpartition('/')[1:])
print(result)  # ????️ '/python'
登入後複製

str.join 方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

调用该方法的字符串用作元素之间的分隔符。

以上是Python怎麼刪除指定字元之前或之後所有內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

vscode怎麼在終端運行程序 vscode怎麼在終端運行程序 Apr 15, 2025 pm 06:42 PM

在 VS Code 中,可以通過以下步驟在終端運行程序:準備代碼和打開集成終端確保代碼目錄與終端工作目錄一致根據編程語言選擇運行命令(如 Python 的 python your_file_name.py)檢查是否成功運行並解決錯誤利用調試器提升調試效率

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

See all articles