在 Python 中檢查字串是否為整數
Muhammad Waiz Khan
2023年1月30日
2021年2月7日
-
在 Python 中使用
str.isdigit()
方法檢查一個字串是否為整數 -
在 Python 中使用
try ... except
異常處理檢查字串是否為整數 - 在 Python 中使用正規表示式檢查一個字串是否為整數
本教程將解釋如何在 Python 中檢查一個字串是否是整數,也就是說一個字串是否代表一個整數。所謂字串是整數,是指字串中儲存的值代表一個整數。可以有多種方法來檢查,我們將在本教程中通過程式碼示例討論這些方法。
在 Python 中使用 str.isdigit()
方法檢查一個字串是否為整數
在 Python 中檢查一個字串是否是整數的最有效方法是使用 str.isdigit()
方法,因為它的執行時間最少。
str.isdigit()
方法如果字串代表一個整數,則返回 True
,否則返回 False
。下面的程式碼示例展示了我們如何使用它。
def if_integer(string):
if string[0] == ('-', '+'):
return string[1:].isdigit()
else:
return string.isdigit()
string1 = '132'
string2 = '-132'
string3 = 'abc'
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
輸出:
True
True
False
上面的例子也照顧到字串中是否存在整數的符號,+
或 -
。如果第一個字串是+
或 -
,它就會檢查字串的其他部分是否是整數。
在 Python 中使用 try ... except
異常處理檢查字串是否為整數
另一種方法是在 int()
函式上使用 try ... except
異常處理。如果字串是一個整數,它將返回 True
,否則返回 False
。下面的程式碼示例展示了我們如何實現這個方法。
def if_integer(string):
try:
int(string)
return True
except ValueError:
return False
string1 = '132'
string2 = '-132'
string3 = 'abc'
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
輸出:
True
True
False
在 Python 中使用正規表示式檢查一個字串是否為整數
我們可以使用的另一種有趣的方法是正規表示式。表示一個整數的正規表示式將是 [+-]?\d+$
,其中 [+-]?
表示+-
符號是可選的,\d+
表示字串中應該有一個或多個數字,$
是字串的結尾。
示例程式碼。
import re
def if_integer(string):
reg_exp = "[-+]?\d+$"
return re.match(reg_exp, string) is not None
string1 = '132'
string2 = '-132'
string3 = 'abc'
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
輸出:
True
True
False
相關文章 - Python String
- 在 Python 中從字串中刪除逗號
- 如何用 Pythonic 的方式來檢查字串是否為空
- 在 Python 中將字串轉換為變數名
- Python 如何去掉字串中的空格/空白符
- 如何在 Python 中從字串中提取數字
- Python 如何將字串轉換為時間日期 datetime 格式