我需要在字符串内的下划线后替换所有数字。
我认为我可以使用Regex,但我不知道如何使用Regex语法
查看我的字符串示例:
milton_0
milton_1
答案 0 :(得分:4)
如果这是标准格式,您可以使用split()
var str = 'milton_1';
alert(str.split('_')[1]);
答案 1 :(得分:2)
你不需要正则表达式。以下代码足够
var str = "milton_0";
str = str.substring(0,str.indexOf("_"));
答案 2 :(得分:1)
我不确定你想要的具体或广泛,但你可以试试这个:
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);
这将匹配以“milton_”开头并以数字结尾的字符串。它将“_”后的任何数字替换为specialVal
值。
简单递增该数字的一个例子是:
var starter = "milton_1";
var re = /^(milton_)(\d+)$/;
var replaced = starter.replace(re, function (match, p1, p2) {
return p1 + (+p2 + 1);
});
console.log(replaced);
<强>更新强>
如果“milton”部分不是静态的,那么你实际上只是在其后面用数字定位“_”。所以像这样:
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/4/
答案 3 :(得分:-1)
首先,您需要它们作为列表以便轻松处理。
var listOfStrings = yourStringObject('whateverYourCharacterUnderEachWord').ToList<string>();
之后你需要删除列表中每个字符串的数字并添加你想要的内容。
foreach(string word in listOfStrings){
word = word.Substring(0,word.IndexOf('_')+1);
word = word + "characterThatYouWantToAddHere"
}