📜  python 测试字符串是否为 int - Python (1)

📅  最后修改于: 2023-12-03 15:19:10.924000             🧑  作者: Mango

Python 测试字符串是否为 int

介绍

在Python中,我们经常需要判断一个字符串是否能够转换为整数。这可能在用户输入验证、文件处理或算术运算等场景中非常有用。本文将介绍几种方法来测试一个字符串是否可以转换为整数。

方法一:使用异常捕获

我们可以尝试将字符串转换为整数并捕获ValueError异常。如果没有异常抛出,则字符串可以被转换为整数。

def is_string_int(str):
    try:
        int(str)
        return True
    except ValueError:
        return False

使用示例:

print(is_string_int("123"))  # 输出 True
print(is_string_int("12.3"))  # 输出 False
print(is_string_int("-123"))  # 输出 True
print(is_string_int("abc"))  # 输出 False
方法二:使用正则表达式

我们可以使用正则表达式来检查字符串是否符合整数的格式。通过匹配数字、负号和正号,我们可以确定字符串是否可以转换为整数。

import re

def is_string_int(str):
    if re.match(r'^[-+]?[0-9]+$', str):
        return True
    else:
        return False

使用示例:

print(is_string_int("123"))  # 输出 True
print(is_string_int("12.3"))  # 输出 False
print(is_string_int("-123"))  # 输出 True
print(is_string_int("abc"))  # 输出 False
方法三:使用isdigit()

Python字符串有一个内置的isdigit()方法,用于检查字符串是否只包含数字字符。

def is_string_int(str):
    return str.isdigit()

使用示例:

print(is_string_int("123"))  # 输出 True
print(is_string_int("12.3"))  # 输出 False
print(is_string_int("-123"))  # 输出 False
print(is_string_int("abc"))  # 输出 False

以上就是三种测试一个字符串是否可以转换为整数的方法。根据不同的需求和场景,可以选择适合的方法来实现字符串转换整数的判断。