在 Python 中检查字符串是否为整数
Muhammad Waiz Khan
2023年1月30日
-
在 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 中从字符串中删除逗号
- 在 Python 中将字符串转换为变量名
- Python 如何去掉字符串中的空格/空白符
- 如何在 Python 中从字符串中提取数字
- Python 如何将字符串转换为时间日期 datetime 格式
- Python2 和 3 中如何将(Unicode)字符串转换为小写