Python程式提取字串直到第一個非字母數字字符
Python 字串是表示資訊或資料的字元序列。普通字串可以包含用單引號或雙引號括起來的各種字符,但字母數字字串僅包含數字和字母。 字母數字和非字母數字字串都在各種場景中使用和應用,包括密碼保護、資料處理和驗證、格式化等。
可以識別和提取特定模式。我們也可以使用這些類型的字串提供不同的組合。我們將根據這些字串執行操作。我們的任務是提取字串,直到遇到第一個非字母數字字元。
理解問題
在遇到非字母數字字元之前,我們必須從原始字串中提取子字串。讓我們透過一個例子來理解這一點。
輸入輸出場景
讓我們考慮一個具有以下值的字典 -
Input: Inp_STR = "Sales18@22!Roam"
給定的字串由字母、數字和特殊字元組成。一旦遇到非字母數字字符,我們就必須檢索子字串。
Output: Sales18
我們可以看到,從原始字串中返回了一個子字串“Sales18”,因為在此之後遇到了非字母數字字符,即“@”。現在我們已經理解了問題陳述,讓我們討論一些解決方案。
使用迭代
這是根據提供的條件提取字串的基本且更簡單的方法。我們將傳遞一個字串並創建一個新變量,該變量將儲存所有字母數字字符,即字母(大寫和小寫)和數字。之後,我們將遍歷原始字串並迭代每個字元。
我們將建立一個條件來檢查原始字串中的字元是否是字母數字。一旦遇到非字母數字字符,循環將中斷並返回子字串。
範例
以下是提取字串直到第一個非字母數字字元的範例 -
Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") ExSTR = "" alphaNum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890" for x in Inp_STR: if x not in alphaNum: break else: ExSTR += x print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
輸出
The original string is: Sales18@22Roam The extracted string till 1st Non-Alphanumeric character: Sales18
使用正規表示式模組 Search()
Regex 模組或「re」模組是一個強大的程式設計工具,用於搜尋和匹配模式。這些模式以獨特的表達式的形式傳遞。使用此模組,我們將檢測原始字串中的非字母數字模式並檢索第一次遇到的序列。我們使用「search()」函數在字串中搜尋由表達式「\W 」表示的非字母數字模式。
「\W」表示非字母數字類,「 」設定非字母數字字元的連續匹配邏輯。 “.start()”方法傳回符合子字串的起始索引,該索引值將用於檢索所需的子字串。
範例
以下是一個範例 -
import re Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") ExSTR = re.search(r"\W+", Inp_STR).start() print(f"The 1st non-alphanumeric character is encountered at: {ExSTR}") ExSTR = Inp_STR[ : ExSTR] print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
輸出
The original string is: Sales18@22Roam The 1st non-alphanumeric character is encountered at: 7 The extracted string till 1st Non-Alphanumeric character: Sales18
使用 Regex 模組 Findall()
這是提取字串直到遇到第一個非字母數字字元的另一種方法。在這個方法中,我們將使用 re 模組中的「findall()」函數來尋找所有出現的由字母數字字元組成的子字串。
將獲得匹配子字串的列表,我們將使用「0」索引值檢索第一個子字串。我們將使用正規表示式:“[\dA-Za-z]*”,它表示一行中的零個或多個字母數字字元。
正規表示式符號「\d」符合0到9之間的任何數字,「A-Z」符合A到Z之間的任何大寫字母,「 a-z< /b>” 符合a 到z 之間的任何小寫字母。
範例
以下是一個範例 -
import re Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") ExSTR = re.findall(r"[\dA-Za-z]*", Inp_STR)[0] print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
輸出
The original string is: Sales18@22Roam The extracted string till 1st Non-Alphanumeric character: Sales18
使用 Isalnum() 方法
在這個方法中,我們將迭代原始字串中每個字元的索引,並建立一個條件來檢查索引「x」處的字元是否不是字母數字。這是在「isalnum()」方法的幫助下完成的,該方法確定字串的字母數字性質。之後,我們將使用列表切片來提取字串,直到第一個字母數字字元。
範例
以下是一個範例 -
Inp_STR = "Sales18@22Roam" print(f"The original string is: {Inp_STR}") for x in range(len(Inp_STR)): if not Inp_STR[x].isalnum(): ExSTR = Inp_STR[:x] print(f"The 1st non-alphanumeric character is encountered at: {x}") break else: ExSTR = Inp_STR print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
輸出
The original string is: Sales18@22Roam The 1st non-alphanumeric character is encountered at: 7 The extracted string till 1st Non-Alphanumeric character: Sales18
結論
在本文中,我們討論了一些高效且最佳化的解決方案,用於在遇到第一個非字母數字字元時從字串中提取子字串。我們了解簡單和粗暴的解決方案以及先進和優化的解決方案。我們使用正規表示式模組並使用其“search()”和“findall()”函數來提取相關字串。最後,我們討論了另一個基於列表切片的解決方案,其中涉及使用「isalnum()」方法。
以上是Python程式提取字串直到第一個非字母數字字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

Python中的斷言(assert)是程式設計師用來偵錯程式碼的有用工具。它用於驗證程式的內部狀態是否滿足預期,並在這些條件為假時引發一個斷言錯誤(AssertionError)。在開發過程中,測試和偵錯階段都使用斷言來檢查程式碼的狀態和預期結果是否相符。本文將討論AssertionError的原因、解決方法以及如何在程式碼中正確使用斷言。斷言錯誤的原因斷言錯誤通

Python中的分層抽樣技巧抽樣是統計學中常用的資料收集方法,它可以從資料集中選擇一部分樣本進行分析,以此推斷出整個資料集的特徵。在大數據時代,數據量龐大,使用全樣本進行分析既耗費時間又不夠經濟實際。因此,選擇合適的抽樣方法可以提高資料分析效率。本文主要介紹Python中的分層抽樣技巧。什麼是分層抽樣?在抽樣中,分層抽樣(stratifiedsampl

如何使用Python在Linux中進行腳本編寫和執行在Linux作業系統中,我們可以使用Python編寫並執行各種腳本。 Python是一種簡潔而強大的程式語言,它提供了豐富的函式庫和工具,使得腳本編寫變得更加簡單和有效率。以下我們將介紹在Linux中如何使用Python進行腳本編寫和執行的基本步驟,同時提供一些具體的程式碼範例來幫助你更好地理解和運用。安裝Pytho

PHP是一種流行的程式語言,擁有強大的正規表示式功能。正規表示式是一種強大的字串處理工具,使用它可以輕鬆地從字串中提取想要的內容。本文將介紹PHP正規表示式的使用方法,特別是如何從字串中提取特定開頭和結尾的子字串。如果你想學習如何使用PHP正規表示式來提取子字串,那麼這篇文章將為你提供幫助。首先,讓我們回顧一下正規表示式的基礎知識。正規表

如何透過Python開發漏洞掃描器概述在當今網路安全威脅增加的環境下,漏洞掃描器成為了保護網路安全的重要工具。 Python是一種流行的程式語言,簡潔易讀且功能強大,適合開發各種實用工具。本文將介紹如何使用Python開發漏洞掃描器,為您的網路提供即時保護。步驟一:確定掃描目標在開發漏洞掃描器之前,您需要確定要掃描的目標。這可以是您自己的網路或任何您有權限測

Python中sqrt()函數用法及程式碼範例一、sqrt()函數的功能及介紹在Python程式設計中,sqrt()函數是math模組中的一個函數,其功能是計算一個數的平方根。平方根是指一個數與自己相乘等於這個數的平方,即x*x=n,則x就是n的平方根。程式中可以使用sqrt()函數來實現對平方根的計算。二、sqrt()函數的使用方法在Python中,sq

Python程式實戰:利用百度地圖API產生靜態地圖功能的方法導語:在現代社會中,地圖已成為人們生活中不可缺少的一部分。在使用地圖時,我們常常需要取得特定區域的靜態地圖,以便在網頁、行動應用程式或報告中進行展示。本文將介紹如何利用Python程式語言和百度地圖API來產生靜態地圖,並提供相關的程式碼範例。一、準備工作要實現利用百度地圖API產生靜態地圖的功能,我

教你使用Python程式實現百度影像辨識介面的對接,實現影像辨識功能在電腦視覺的領域中,影像辨識技術是非常重要的一項技術。而百度提供了一套強大的圖像識別接口,透過該接口,我們可以方便地實現圖像的分類、標籤、人臉識別等功能。本篇文章將教你使用Python程式語言,透過對接百度影像辨識接口,實現影像辨識的功能。首先,我們需要在百度開發者平台上創建一個應用,並獲
