用jquery替换字符串中的数字

用jquery替换字符串中的数字,jquery,Jquery,我有一个字符串,其中有一个数字,我想用另一个数字替换 即 但基本上我不知道如何在我的_字符串上搜索一个数字,然后用其他数字替换这个数字 使用jQuery可以做到这一点吗 谢谢你的建议。这将适用于包含0-9的简单自然数 var my_string = $('a#my_link').text().replace(/[0-9]+/, 'replacement'); 如果您需要匹配更复杂的数字,例如小数和负数,那么这将起作用: var my_string = $('a#my_link').text()

我有一个字符串,其中有一个数字,我想用另一个数字替换

但基本上我不知道如何在我的_字符串上搜索一个数字,然后用其他数字替换这个数字

使用jQuery可以做到这一点吗


谢谢你的建议。

这将适用于包含0-9的简单自然数

var my_string = $('a#my_link').text().replace(/[0-9]+/, 'replacement');
如果您需要匹配更复杂的数字,例如小数和负数,那么这将起作用:

var my_string = $('a#my_link').text().replace(/-?[0-9]*\.?[0-9]+/, 'replacement');
如果您还需要匹配更复杂的数据,比如指数符号或带逗号的数字,那么您需要适当地修改正则表达式——如何进行修改将取决于您希望验证的严格程度

var new_string = $('a#my_link').text().replace(/[0-9]+/, "somethingelse")

用别的东西替换
别的东西。(

首先,需要使用split()函数拆分空格字符,循环遍历每个单词,并将结果发送到字符串数组

一旦你这样做了,测试每个单词的数字。如果找到数字,请使用jquery replaceWith()函数:


希望对您有所帮助。

许多jQuery方法,如
.text()
都可以接受返回要插入的值的函数

试试看:

这样就不需要运行选择器两次

另外,当您通过元素的ID获取元素时,如果不包含标记名,实际上会更快一些

所以不是

$('a#my_link')
这样做更好

$('#my_link')

如上所述。

如果需要提取数字,然后替换为其他值

let temp ="<polygon points=' 42,4874 936,4874 936,3434 42,3434'></polygon>"
temp.replace(/(\d+)/g,v=>v*10)
let temp=“”
温度更换(/(\d+)/g,v=>v*10)
每个数字乘以10


结果将是

,这不是OP所要求的。它将返回数字的第一个字符(本例中为“3”);他想用另一个数字替换整数。谢谢,编辑:-)但是正则表达式将匹配整数,而不是第一个数字。
$('a#my_link').text($(this).text().replace(/\d+/,'something')应为偶数better@Mikulas数据项—尝试一下,您会发现示例中的
这个
并不是指您认为它是的元素现在,这是一个不需要两个元素抓取的解决方案。很好。我需要养成这样使用函数的习惯。在替换东西时,这是一种非常简洁的方式。我喜欢这种简洁而强大的语法。我会注意到捕获组不是必需的。出于我的目的,我需要
string.replace(/\d+/g,v=>v.padStart(5,'0')
$('#my_link').text( function(i,txt) {return txt.replace(/\d+/,'other value'); });
$('a#my_link')
$('#my_link')
let temp ="<polygon points=' 42,4874 936,4874 936,3434 42,3434'></polygon>"
temp.replace(/(\d+)/g,v=>v*10)