replacestring中最后一个出现的字符

在jQuery中有一个简单的方法来replace给定string中的'_'(下划线)的最后一次出现?

你不需要jQuery,只是一个正则expression式。

这将删除最后一个下划线:

var str = 'a_b_c'; str = str.replace(/_([^_]*)$/,'$1'); //a_bc 

这将replacevariablesreplacement的内容:

 var str = 'a_b_c', replacement = '!'; str = str.replace(/_([^_]*)$/,replacement+'$1'); //a_b!c 

不需要jQuery和正则expression式

str = str.substring(0,str.length-2)+otherchar

replacestring中的最后一个字符

 var pos = str.lastIndexOf('_'); str = str.substring(0,pos) + otherchar + str.substring(pos+1) 

取代最后的下划线

或使用其中一个正则expression式,你将在一分钟内从某人得到:)

那这个呢?

 function replaceLast(x, y, z){ var a = x.split(""); a[x.lastIndexOf(y)] = z; return a.join(""); } replaceLast("Hello world!", "l", "x"); // Hello worxd! 

反转string,replace字符,反转string。

这是一个在JavaScript中反转string的post: 如何在JavaScript中反转string?

把事情简单化

 var someString = "a_b_c"; var newCharacter = "+"; var newString = someString.substring(0, someString.lastIndexOf('_')) + newCharacter + someString.substring(someString.lastIndexOf('_')+1); 

你可以使用这个代码

 var str="test_String_ABC"; var strReplacedWith=" and "; var currentIndex = str.lastIndexOf("_"); str = str.substring(0, currentIndex) + strReplacedWith + str.substring(currentIndex + 1, str.length); alert(str); 

这与mplungjan的答案非常相似,但可以更容易些(特别是如果你需要做其他string操作,并希望保持它作为一个数组),无论如何,我只是想我会把它放在那里,以防某人更喜欢它。

 var str = 'a_b_c'; str = str.split(''); //['a','_','b','_','c'] str.splice(str.lastIndexOf('_'),1,'-'); //['a','_','b','-','c'] str = str.join(''); //'a_b-c'