我想用 python 执行以下操作:
- 验证 UTF8 字符串是否为整数。
- 验证 UTF8 字符串是否为 float 。
- 验证 UTF8 字符串的长度是否为 (1-255)。
- 验证 UTF8 字符串是否为有效日期。
我是 python 的新手,我相信这应该用正则表达式来完成,除了最后一个。感谢您的帮助!
请您参考如下方法:
Regex 在这里不是一个好的解决方案。
验证 UTF8 字符串是否为整数:
try: int(val) is_int = True except ValueError: is_int = False验证 UTF8 字符串是否为 float :同上,但使用
float()。验证 UTF8 字符串的长度是否为 (1-255):
is_of_appropriate_length = 1 <= len(val) <= 255验证 UTF8 字符串是否为有效日期:这很重要。如果您知道正确的格式,您可以像这样使用
time.strptime():# Validate that the date is in the YYYY-MM-DD format. import time try: time.strptime(val, '%Y-%m-%d') is_in_valid_format= True except ValueError: is_in_valid_format = False
编辑:还有一点需要注意。由于您特别提到了 UTF-8 字符串,因此首先将它们解码为 Unicode 是有意义的。这将通过以下方式完成:
my_unicode_string = my_utf8_string.decode('utf8')
有趣的是,例如,当尝试使用 int() 将 Unicode 字符串转换为整数时,您并不局限于大多数世界。 int(u'١٧') 和 int(u'१७') 将正确解码为 17,即使它们分别是印度-阿拉伯语和梵文数字。
