【问题标题】:jQuery get price from string [closed]jQuery从字符串中获取价格[关闭]
【发布时间】:2021-07-17 06:33:56
【问题描述】:

我有一个这样的字符串

Payment terms:
50.00% - RM9,966.72 - (Before project start)
30.00% - RM5,580.03 - (Upon second review, 70% completion, before next 30% development start)
20.00% - RM3,386.69 - (Before deploy to PROD)

使用 jQuery 或 JavaScript,我需要以 RM 开头检索所有付款金额 (xxxx.xx),而不管字符串如何更改。 如何以数组的形式获取(例如 9966.72、5580.03、3386.69(十进制形式,没有逗号,不是 9,966.72)),带或不带正则表达式?

【问题讨论】:

  • RMnnn.nn 可以找到一个非常清晰的表达方式。在正则表达式中使用它有什么特别的困难吗?
  • 我只是不擅长正则表达式,所以我不知道如何写正则表达式

标签: javascript jquery regex


【解决方案1】:

const str = `Payment terms:
50.00% - RM966.72 - (Before project start)
30.00% - RM580.03 - (Upon second review, 70% completion, before next 30% development start)
20.00% - RM386.69 - (Before deploy to PROD)`;

const regex = /(?<=RM)[\d]*\.*[\d]*/g;

const result = str.match(regex);
console.log(result);

【讨论】:

  • 您可以将RM 设为积极的后视(即(?&lt;=RM)),这样您以后就不必将其从匹配项中删除
  • @Phil 谢谢你这么好的建议?
  • 有没有办法以数组形式而不是带逗号的字符串获取结果?
  • @TanSiKai 结果在字符串数组中
  • 您好,很抱歉,如果上面的付款金额是带逗号的数字怎么办?我如何只得到小数?请检查我编辑的字符串
猜你喜欢
  • 1970-01-01
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多