将序数字符串转换为其数字

时间:2019-01-14 14:09:24

标签: javascript

我想将序数字符串转换为其数字 例如

  • “ 1st”到1
  • “第二”至2
  • “第3个”到第3个

...

尝试过此功能,但返回其序数,而不是数字

function nth(n){return["st","nd","rd"][((n+90)%100-10)%10-1]||"th"}

它应该是该函数的反函数

4 个答案:

答案 0 :(得分:6)

只需使用parseInt

console.log(parseInt("1st"))

答案 1 :(得分:5)

您可以删除后两个字符,因为后缀的长度是恒定的。

function toNum(str) {
  return parseInt(str.substring(0, str.length - 2));
}

console.log(toNum("1st"));

答案 2 :(得分:0)

使用parseInt()从字符串简单地提取数值

parseInt("1st");

这将从字符串中提取1,即整数

答案 3 :(得分:0)

您还可以将功能match(...)Regular Expression /[0-9]+/一起使用。

console.log("3rd".match(/[0-9]+/)[0]) // -> 3
console.log("52381st".match(/[0-9]+/)[0]) // -> 52381

仅执行"3rd".match(/[0-9]+/)会返回一个带有一些有用数据的对象,但是仅访问属性[0]会为您提供所需的输出(如果您不想执行{ {1}}和其他答案一样都在提到哈哈。