首页 > 解决方案 > 如何返回一个只包含可以形成有效整数或浮点数的字符的字符串?

问题描述

这个问题要我从传递的字符串中删除非数字值。

问题还说:“请记住,数值可以有一个前导 '+' 或 '-',而浮点数可以有一个小数点(但只有一个小数点)。”

我不知道整数可以有前导 + 或 -。如何创建一个允许 + 和 - 但仅在数字和小数之前但仅在数字中间而不是其他地方的函数?

我在 StackOverflow 上环顾四周,许多类似问题的解决方案都使用我不熟悉的正则表达式。有没有办法用循环来做到这一点?

标签: pythonregexstring

解决方案


你可以循环你的字符串几次而不是做正则表达式。一次过滤掉非数字字符,然后再次验证字符串的其余部分是否为数字,并进行特殊检查以确保+or-是第一个字符并且仅存在一个小数。


推荐阅读