Python - 檢查字串中的數字字尾


通常,字尾指的是附加在單詞末尾的詞綴或字母組,用於修改其含義或構成新詞。字尾用於語言學和語法中,以建立不同的詞形,例如複數、動詞時態、比較級等等。

字尾可以以各種方式改變單詞的含義或功能。例如,在單詞“cat”後面新增字尾“-s”構成複數“cats”,表示多隻貓。同樣,在動詞“walk”後面新增字尾“-ed”構成過去式“walked”,表示過去發生的動作。

從字串的角度來看,字尾指的是出現在字串末尾的一系列字元。它是字串中所有其他字元之後的部分。

例如,在字串“example123”中,字尾是“123”。同樣,在字串“hello_world”中,字尾是“_world”。字尾可以是任意長度,從單個字元到字串的整個剩餘部分。

在本文中,我們將學習檢查給定字串中數字字尾的所有可能方法。

使用正則表示式

Python 中的 `re` 模組支援正則表示式,用於在給定字串中查詢定義的模式。有多種方法和函式可用於處理字串模式。

示例

在這個例子中,`has_numeric_suffix()` 函式使用 `re.search()` 函式來搜尋字串末尾的模式。模式 `r"\d+$"` 匹配字串末尾的一個或多個數字 (`\d+`)。如果找到匹配項,則函式返回 `True`,否則返回 `False`。

import re
def has_numeric_suffix(string):
   pattern = r"\d+$"  # Matches one or more digits at the end of the string
   match = re.search(pattern, string)
   return match is not None
print(has_numeric_suffix("python123"))  
print(has_numeric_suffix("python"))

輸出

True
False

使用字串操作

Python 提供了一些內建的字串方法,可以用來操作和檢查字串。我們可以使用這些方法來提取字串的最後幾個字元,並檢查它們是否為數字。

示例

在這個例子中,`has_numeric_suffix()` 函式使用字串切片 (string[-1:]) 提取字串的最後一個字元,然後 `isdigit()` 方法檢查提取的字元是否為數字。如果是,則函式返回 `True`,否則返回 `False`。

def has_numeric_suffix(string):
   last_chars = string[-1:]  # Extract the last character
   return last_chars.isdigit()
print(has_numeric_suffix("python 23")) 
print(has_numeric_suffix("tutorialspoint123"))

輸出

True
True

使用 `str.endswith()` 方法

Python 中的 `str.endswith()` 方法檢查字串是否以指定的結尾結束。我們可以使用此方法透過將數字字尾作為引數來檢查字串是否以數字字尾結尾。

示例

在這個例子中,`has_numeric_suffix()` 函式使用生成器表示式 `(tuple(str(i) for i in range(10)))` 建立一個包含 0 到 9 的數字字串的元組。然後在字串上呼叫 `endswith()` 方法,並將元組作為引數傳遞。如果字串以任何數字字尾結尾,則該方法返回 `True`,否則返回 `False`。

def has_numeric_suffix(string):
   return string.endswith(tuple(str(i) for i in range(10)))
print(has_numeric_suffix("python123"))  
print(has_numeric_suffix("Tutorialspoint"))

輸出

True
False

更新於:2023年8月7日

260 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.