javascript - Replace last comma separated value by another using regex - Stack Overflow

I have a string as follows :var str = "a,b,c,a,e,f"; What I need is replace the last ma separ

I have a string as follows :

var str = "a,b,c,a,e,f"; 

What I need is replace the last ma separated element by another.

ie, str = "a,b,c,a,e,anystring"; 

I have done it using split method and adding it to make a new string. But it is not working as expected

What I done as follows :

var str = "a,b,c,d,e,f";

var arr = str.split(',');

var res = str.replace(arr[5], "z");
alert(res);

Is there any regex to help?

I have a string as follows :

var str = "a,b,c,a,e,f"; 

What I need is replace the last ma separated element by another.

ie, str = "a,b,c,a,e,anystring"; 

I have done it using split method and adding it to make a new string. But it is not working as expected

What I done as follows :

var str = "a,b,c,d,e,f";

var arr = str.split(',');

var res = str.replace(arr[5], "z");
alert(res);

Is there any regex to help?

Share Improve this question edited Nov 17, 2015 at 7:18 Pranav C Balan 115k25 gold badges171 silver badges195 bronze badges asked Nov 17, 2015 at 7:12 SanthucoolSanthucool 1,7262 gold badges39 silver badges92 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 10

You can use replace() with regex /,[^,]+$/ to match the last string

var str = "a,b,c,d,e,old";
var res = str.replace(/,[^,]+$/, ",new");
// or you can just use
// var res = str.replace(/[^,]+$/, "new");
document.write(res);


Or you can just use regex str.replace(/[^,]+$/, "new");

var str = "a,b,c,d,e,old";
var res = str.replace(/[^,]+$/, "new");
document.write(res);


Or using split() , replace the last array value with new string and then join it again using join() method

var str = "a,b,c,d,e,old";
var arr = str.split(',');
arr[arr.length - 1] = 'new';
var res = arr.join(',');
document.write(res);

You could just use a String.substring() of String.lastIndexOf():

function replaceStartingAtLastComma(str, rep){
  return str.substring(0, (str.lastIndexOf(',')+1))+rep;
}
console.log(replaceStartingAtLastComma('a,b,c,d,e,f', 'Now this is f'));

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744096376a4558017.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信