首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换下划线后的数字

替换下划线后的数字
EN

Stack Overflow用户
提问于 2013-04-03 22:08:30
回答 4查看 1.2K关注 0票数 0

我需要替换字符串中下划线后所有数字。

我认为我可以使用Regex,但我不知道如何使用Regex语法

请看我的字符串示例:

代码语言:javascript
复制
milton_0
milton_1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-03 22:20:51

我不确定你想要多具体或宽泛,但你可以试试这个:

代码语言:javascript
复制
var starter = "milton_1";
var specialVal = "asdf";

var re = /^(milton_)(\d+)$/;

var replaced = starter.replace(re, function (match, p1) {
    return p1 + specialVal;
});

console.log(replaced);

http://jsfiddle.net/ne4cD/

这将匹配以"milton_“开头并以数字结尾的字符串。它将"_“后面的任何数字替换为specialVal值。

简单地递增该数字的一个示例是:

代码语言:javascript
复制
var starter = "milton_1";
var re = /^(milton_)(\d+)$/;

var replaced = starter.replace(re, function (match, p1, p2) {
    return p1 + (+p2 + 1);
});

console.log(replaced);

http://jsfiddle.net/ne4cD/2/

更新:

如果"milton“部分不是静态的,那么您实际上只是针对后面带有数字的"_”。所以就像这样:

代码语言:javascript
复制
var starter = "asdfkjlasdfjksadf_1";
var specialVal = "asdf";

var re = /(_)(\d+)/g;

var replaced = starter.replace(re, function (match, p1) {
    return p1 + specialVal;
});

console.log(replaced);

http://jsfiddle.net/ne4cD/3/

也许看起来更好一些:http://jsfiddle.net/ne4cD/4/

票数 1
EN

Stack Overflow用户

发布于 2013-04-03 22:09:38

如果这是标准格式,则可以使用split()

代码语言:javascript
复制
var str = 'milton_1';
alert(str.split('_')[1]);
票数 4
EN

Stack Overflow用户

发布于 2013-04-03 22:10:40

为此,您不需要正则表达式。下面的代码足够

代码语言:javascript
复制
var str = "milton_0";
str = str.substring(0,str.indexOf("_"));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15789690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档