javascript - 你能用 Jquery 操作字符串中的数字吗?

标签 javascript jquery string numbers

我有一些像这样的字符串:

<p>It will vary from 100g to 200g</p>
<p>2lbs of meat</p>
<p>3 piles of timber</p>

等等等等

我想增加/减少每个字符串中的所有数字。 有什么指点吗?

<小时/>

附加说明:

  1. 不,数字可以位于字符串中的任意位置。
  2. @cookie_monster 我想看看是否可以不进行常规操作。

最佳答案

一个简单的解决方案是使用 regular expression ,例如:

"100g".replace(/\d+/g, function(n) { return +n + 1; }); // 101g

说明:

  • 模式\d+ 匹配字符串中一个或多个数字的任何序列。
    • 此模式限制您只能使用整数;如果您尝试使用“3.5”,它会认为这是两个单独的整数,结果将是“4.6”
    • 如果这是一个问题,请改用 (\d+\.)?\d+ 等模式。
  • 模式上的全局标志 (g) 意味着这将替换字符串中的所有数字序列。
    • 如果您只想替换第一个实例,请删除此项。
  • 该函数接受匹配的子字符串(在本例中为 "100"),然后将其转换为数字 (+n),加 1,然后返回结果。此结果将转换回字符串,并替换模式匹配的任何内容。

要使用 jQuery 在 HTML 元素中执行此操作,您可以简单地使用如下内容:

$('p').each(function() {
    var e = $(this);
    e.text(e.text().replace(/\d+/g, function(n) { return +n + 1; }));
});

关于javascript - 你能用 Jquery 操作字符串中的数字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137015/

相关文章:

javascript - 从多个 MongoDB 行程返回一个数组到用户集合

javascript - 数据表搜索突出显示,不删除 tr

javascript - 我正在尝试在循环时组合一个字符串

javascript - 在 javascript 或 jquery 中循环遍历 PHP 关联数组

php - 使用字符串 - PHP

Python - 两个字符串之间的区别

javascript - 在 Javascript 中,为什么 Object.getPrototypeOf(person) 有效,而 person.getPrototypeOf(person) 无效?

javascript - 显式使用 Haxe API 类

javascript - JQuery 验证插件错误放置不起作用

php - PHP中字符串中的类常量