[英]Javascript / Node JS - using regex to transform a string?
In my nodeJs
code I make a REST call to a 3rd party api and one of the values in the response is a string value eg:在我的nodeJs
代码中,我对第三方 api 进行了 REST 调用,响应中的值之一是字符串值,例如:
"total": "-15"
Note that this value can either be a negative number, zero or a positive number, but as a string.请注意,此值可以是负数、零或正数,但可以是字符串。
eg:例如:
"total": "-5"
"total": "0"
"total": "+3"
How can I convert this value to be as follows?如何将此值转换为如下所示? Based off the above example:基于上面的例子:
5 under
level par
3 over
I am quite new to node/javascript
- is regex
the best option to do this?我对node/javascript
很陌生——正regex
是最好的选择吗?
As Blunt Jackson said, regex will probably be slower.正如 Blunt Jackson 所说,正则表达式可能会更慢。 Here is a conversion function example:这是一个转换 function 的例子:
const toText = (value) => { const parsed = parseInt(value) return parsed > 0? `${parsed} over`: parsed < 0? `${Math.abs(parsed)} under`: 'level par'; } console.log(toText("-5")); console.log(toText("0")); console.log(toText("+3"));
I like this question because I like Code Golf:D我喜欢这个问题,因为我喜欢 Code Golf:D
So my suggestion would be this one-liner:所以我的建议是这样的:
const toText = v => v == 0 ? "level par" : v < 0 ? `${-v} under` : `${+v} over`;
console.log(toText("-5"));
console.log(toText("0"));
console.log(toText("+3"));
Works with Numbers or Strings as parameter.使用数字或字符串作为参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.