Javascript 递增字符串中的数字
我有以下字符串:Javascript 递增字符串中的数字,javascript,regex,Javascript,Regex,我有以下字符串:0-3-terms,我需要在每次单击按钮时将3增加20,并且开始值可能并不总是3,但我将在本例中使用它 我设法用子字符串实现了这一点,但它太混乱了,我宁愿看看是否可以使用正则表达式,但我不擅长使用正则表达式。到目前为止,我想我应该使用两个连字符来查找需要递增的数字 var str = '0-3-terms'; var patt = /0-[0-9]+-/; var match = str.match(patt)[0]; //output ["0-3-"] 如何将数字3增加20
0-3-terms
,我需要在每次单击按钮时将3增加20,并且开始值可能并不总是3,但我将在本例中使用它
我设法用子字符串实现了这一点,但它太混乱了,我宁愿看看是否可以使用正则表达式,但我不擅长使用正则表达式。到目前为止,我想我应该使用两个连字符来查找需要递增的数字
var str = '0-3-terms';
var patt = /0-[0-9]+-/;
var match = str.match(patt)[0];
//output ["0-3-"]
如何将数字3增加20并将其插入到str中,从而得到:
0-23术语、0-43术语、0-63术语
等等。您正在进行替换。因此,请使用。替换
var str = '0-3-terms';
var patt = /-(\d+)-/;
var result = str.replace(patt,function(_,n) {return "-"+(+n+20)+"-";});
你在做替换。因此,请使用。替换
var str = '0-3-terms';
var patt = /-(\d+)-/;
var result = str.replace(patt,function(_,n) {return "-"+(+n+20)+"-";});
另一种选择是使用.split
而不是regex,如果您愿意的话。看起来是这样的:
var str='0-3-terms';
var split=str.split('-');
分割[1]=+分割[1]+20;
var result=split.join('-');
警报(结果)
如果您愿意,另一个选项是使用.split
而不是regex。看起来是这样的:
var str='0-3-terms';
var split=str.split('-');
分割[1]=+分割[1]+20;
var result=split.join('-');
警报(结果)代码>我不明白你为什么要使用正则表达式。调用按钮时,只需存储值并创建字符串
//first value
var value = 3;
var str = '0-3-terms';
//after clicking the button
value = value+20;
str = "0-" + value + "-terms"
我不明白你为什么用正则表达式。调用按钮时,只需存储值并创建字符串
//first value
var value = 3;
var str = '0-3-terms';
//after clicking the button
value = value+20;
str = "0-" + value + "-terms"
使用正则表达式可以在每次单击时查找任意数量的数字。您的答案不会显示下一个值是如何得到的,一旦它的增量超过3,您可以在每次单击按钮时将变量“value”更新20。下一个值是更新后的值。很抱歉,我应该提到,起始值可能不总是3,因此正则表达式将捕获所有数字。使用正则表达式可以在每次单击时查找任意数量的数字。您的答案不会显示下一个值是如何得到的,一旦它的增量超过3,您可以在每次单击按钮时将变量“value”更新20。下一个值是更新后的值。很抱歉,我应该提到起始值可能不总是3,所以正则表达式将捕获所有数字。学到了一些东西。没有意识到JS可以使用regex回调。学到了一些东西。没有意识到JS可以使用regex回调。