javascript - 使用正则表达式增加字符串中的数字

标签 javascript html regex

我得到一个输入元素的名称,它是一个带有数字的字符串 (url1)。我想以最简单、最快捷的方式将数字递增 1 (url2)。

我的方法是获取 \d/restofstring,++ 匹配,然后将数字与 restofstring 放在一起。有没有更好的办法?

更新:

我的最终(虚拟)代码变成了:

var liNew = document.createElement('li'); 
liNew.innerHTML = liOld.innerHTML; 
var els = Y.Dom.getChildrenBy(liNew, function(el) { 
    return el.name.match(/\d+$/); 
} // YUI method where the function is a test 
for (var i = 0, el; el = els[i]; i++) { 
    el.name = el.name.replace(/\d+$/, function(n) { return ++n }); 
} 
list.appendChild(liNew); 

最佳答案

怎么样:

'url1'.replace(/\d+$/, function(n){ return ++n }); // "url2"
'url54'.replace(/\d+$/, function(n){ return ++n }); // "url55"

我们在字符串末尾搜索一个数字,将其转换为 Number,将其递增 1,然后将其放回字符串中。我认为这甚至与您在问题中的措辞相同。

引用:

关于javascript - 使用正则表达式增加字符串中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1742798/

相关文章:

javascript - 查找网站图标 - 当不在默认位置时

javascript - 压缩像素集的图像颜色空间

javascript - 强制网页在加载时缩放到 100%

javascript - CSS 中的自动增长模态对话框不应超出屏幕

regex - NSRegularExpression 返回无效范围

javascript - 删除禁用不起作用

javascript - TouchableHighlight react native 按钮图像正在显示但未被点击

html - div 中没有文本的底部边框

java - 我该如何进行此搜索 db.collection.find( { foo :/^bar$/i } ); on mongo but using Mongo Java Driver

c# - 在 C# 中使用正则表达式分组的子字符串