字符串查找第一次出现十进制数
来源:3-12 获取字符串中连续最多的字符以及次数-正则表达式很慢
Ninja4
2022-06-27
老师,最近遇到个问题,想问一下关于在字符串查找第一次出现十进制数?
比如输入asb-2.5 输出2.5 、输入bdga013dd88 输出13?
写回答
1回答
-
双越
2022-06-28
给你一个思路,你继续考虑一下。例如第二个字符串 bdga013dd88
思路:遍历这个字符串,遍历过程中执行 Number(xx) 转换为数字,再执行 toString 看看是否等于原来的字符串。
例如 Number('b').toString() === 'NaN' ,不是 'b'
例如 Number('dg').toString() === 'NaN' ,不是 'bd'
直到后面 Number('13').toString === '13' ,这就匹配上了 —— 这就判断了数字
万一再有个 16 进制的数 Number('0xF').toString === '15' ,也不等于原来的 '0xF' —— 这就判断了十进制
核心判断逻辑就是这样,具体的算法细节和流程,你自己再考虑一下吧
00
相似问题
关于这节视频方法中的跳步
回答 2
怎么在堆里找某个数
回答 1