我有一个字符串,其中有一个数字,我想用另一个数字替换。ie
<a href="" id="my_link">blah blah 32 blah blah</a>
我知道这个字符串中只有一个数字。我能走这么远:
var my_string = $('a#my_link').text();
但基本上我不知道如何在my_string上搜索一个数字,然后用其他东西替换这个数字。jQuery可以吗?谢谢你的任何想法。
yyhrrdl81#
许多jQuery方法(如.text())可以接受一个返回值的函数。
.text()
试试看:http://jsfiddle.net/6mBeQ/
$('#my_link').text( function(i,txt) {return txt.replace(/\d+/,'other value'); });
这样就不需要运行选择器两次。此外,当您通过ID获取元素时,如果不包括标记名称,实际上会更快一些。所以与其
$('a#my_link')
不如做
$('#my_link')
就像我在上面做的那样。
ttp71kqs2#
var new_string = $('a#my_link').text().replace(/[0-9]+/, "somethingelse")
把somethingelse换成别的东西。:)
somethingelse
c3frrgcw3#
$('a#my_link').text($('a#my_link').text().replace(/\d+/,'something'));
ee7vknir4#
这将适用于包含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');
如果需要匹配更复杂的数据,比如指数表示法,或者带逗号的数字,则需要适当地修改正则表达式--如何修改取决于验证的严格程度。
sdnqo3pr5#
如果需要提取数字,然后替换为其他值。
let temp ="<polygon points=' 42,4874 936,4874 936,3434 42,3434'></polygon>" temp.replace(/(\d+)/g,v=>v*10)
每个数字乘以10结果为"<polygon points=' 420,48740 9360,48740 9360,34340 420,34340'></polygon>"
"<polygon points=' 420,48740 9360,48740 9360,34340 420,34340'></polygon>"
dgsult0t6#
首先,您需要使用split()函数在空格字符上拆分每个单词,并将结果发送到字符串数组。一旦你这样做了,测试每个单词的数字。如果你找到了数字,使用jquery replaceWith()函数:http://api.jquery.com/replaceWith/希望能帮上忙。
svdrlsy47#
<script> let text = "1) hit this"; let result = text.match(/[0-9]\)/g); let result1_ = text.replace(/[0-9]\)/g,''); document.getElementById("demo").innerHTML = result_; </script>
7条答案
按热度按时间yyhrrdl81#
许多jQuery方法(如
.text()
)可以接受一个返回值的函数。试试看:http://jsfiddle.net/6mBeQ/
这样就不需要运行选择器两次。
此外,当您通过ID获取元素时,如果不包括标记名称,实际上会更快一些。
所以与其
不如做
就像我在上面做的那样。
ttp71kqs2#
把
somethingelse
换成别的东西。:)c3frrgcw3#
ee7vknir4#
这将适用于包含0 - 9的简单自然数。
如果你需要匹配更复杂的数字,如小数和负数,那么这将工作:
如果需要匹配更复杂的数据,比如指数表示法,或者带逗号的数字,则需要适当地修改正则表达式--如何修改取决于验证的严格程度。
sdnqo3pr5#
如果需要提取数字,然后替换为其他值。
每个数字乘以10
结果为
"<polygon points=' 420,48740 9360,48740 9360,34340 420,34340'></polygon>"
dgsult0t6#
首先,您需要使用split()函数在空格字符上拆分每个单词,并将结果发送到字符串数组。
一旦你这样做了,测试每个单词的数字。如果你找到了数字,使用jquery replaceWith()函数:http://api.jquery.com/replaceWith/
希望能帮上忙。
svdrlsy47#