有没有办法在不使用try / except
机制的情况下判断字符串是否表示整数(例如'3','-17'
但不是'3.14'
或'asfasfas'
)?
is_int('3.14') = False
is_int('-7') = True
如果你真的很讨厌在try/except
各处使用s,请编写一个辅助函数:
def RepresentsInt(s):
try:
int(s)
return True
except ValueError:
return False
>>> print RepresentsInt("+123")
True
>>> print RepresentsInt("10.0")
False
它将需要更多的代码来完全覆盖Python认为是整数的所有字符串。我说这是pythonic。
问题内容: 就像是: 解决方案不应包含try / catch。我们中的一些人打开“打破所有错误”,他们不喜欢调试器打破那些无效的JSON字符串。 问题答案: 首先发表评论。 问题是关于不使用。 如果您不介意使用它,请阅读以下答案。在这里,我们仅使用正则表达式检查字符串,它在大多数情况下(并非在所有情况下)都适用。 看看https://github.com/douglascrockford/JSON
问题内容: 如果无法将字符串解析为long则抛出错误。有没有比使用更快的方法来验证字符串?谢谢 问题答案: 您可以创建相当复杂的正则表达式,但这不值得。在这里使用异常是绝对正常的。 这是自然的例外情况:您假设字符串中有一个整数,但实际上还有其他东西。应该抛出异常并正确处理。 如果查看内部代码,将会看到有许多不同的验证和操作。如果要在解析之前执行所有操作,则会降低性能(如果我们正在谈论解析数百万个数
问题内容: 如果我错了,请纠正我,ReactIntl中的FormattedMessage返回一个由span标记包装的字符串。在ReactIntl 1.2中,我们可以选择仅获取字符串部分。 这是我的问题:ReactIntl 2.0中是否有与之等效的东西?我知道可以通过使用FormattedMessage中的Function-As- Child模式获取字符串 但是,它把我的组件中的“ re
在python中,如何检查字符串是否是字符串列表中的元素? 我正在处理的示例数据是: 那么为什么下面代码的结果是"False":
问题内容: Python是否有类似空字符串变量的内容,你可以在其中执行以下操作: 无论如何,检查空字符串值的最优雅方法是什么?我”“每次都很难检查空字符串,因此很难进行编码。 问题答案: 空字符串是“虚假的”,这意味着它们在布尔上下文中被认为是错误的,因此你可以执行以下操作: 如果你知道变量是字符串,则这是首选方式。如果你的变量也可以是其他类型,则应使用。有关在布尔上下文中为假的其他值,请参见“
为什么在开关情况下不能将枚举值用作字符串?(或者这有什么问题:)