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'