提取字符串并提醒整数

时间:2016-09-16 08:25:29

标签: string extract

任何人都可以帮助我吗?

从spanname中的以下字符串开始,使用classname" first"我想提取价格2。

因此jquery脚本需要提取" 1 000.00"并将其除以2并通过警报给出该数字(500)。



<span class="first"><span class="second">Order</span>Price1: 1 100.00 USD Price2: 1 000.00 Price3: 1 200.00</span>
&#13;
&#13;
&#13;

这可能吗?我只能提取整个字符串而不是小部分,而不是保持原状。

感谢您的帮助: - )

1 个答案:

答案 0 :(得分:0)

首先获取文本,然后使用/Price2: ([\d. ]+)/正则表达式提取数字,然后使用.replace(/\s+/g,'')删除所有空格,然后将其除以2.

&#13;
&#13;
var e = $('span[class="first"]');
var m = e.text().match(/Price2: ([\d. ]+)/);
if (m) {
  var res = Number(m[1].replace(/\s+/g,''))/2;
  alert(res);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="first"><span class="second">Order</span>Price1: 1 100.00 USD Price2: 1 000.00 Price3: 1 200.00</span>
&#13;
&#13;
&#13;

<强>详情:

  • /Price2: ([\d. ]+)/匹配Price2: 并匹配并捕获到第1组一个或多个数字,空格和点。我们只需要第1组,因此我们检查是否与if (m)匹配,然后使用m[1]
  • 访问第1组
  • 包含空格的字符串编号无法转换为数字类型,我们需要删除所有whitesapces,\s+匹配1 +空格。
  • Number()是多余的,我只是保持代码冗长且不言自明,/2会自动将m[1].replace(/\s+/g,'')的结果转换为数字。