8
$(function(){
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ";
    var replaced = alphabet.replace(/(M).+$/,'');
    $('body').text(replaced);
});

我怎样才能让它朝着相反的方向发展,替换M它之前的一切?

4

3 回答 3

32

使用/^.+M/表达式:

$(function() {
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ";
    var replaced = alphabet.replace(/^.+M/,'');
    $('body').text(replaced);
});

演示:http: //jsfiddle.net/kbZhU/1/


更快的选择是使用indexOfsubstring方法:

$(function(){
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ";
    var replaced = alphabet.substring(alphabet.indexOf("M") + 1);
    $('body').text(replaced);
});

演示: http: //jsfiddle.net/kbZhU/2/ ​</p>

于 2012-05-13T02:10:12.337 回答
2

这是使用split方法的另一种方法:

$(function(){
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ";
    var replaced = alphabet.split("M")[1];
    $('body').text(replaced);
});
于 2016-11-01T03:16:22.143 回答
0

仅供参考,如果您尝试使用多个字母来执行此操作,则必须对其进行一些更改。

使用@VisioN 解决方案,我试图替换 URL 中的任何内容直到某个点。

所以要在 'google.com' in 之后得到所有东西https://www.google.com/analytics,我必须这样做

const url = 'https://www.google.com/analytics'
const lookingFor = 'google.com'
const replaced = url.substring(url.indexOf(lookingFor) + lookingFor.length)

replaced然后将返回/analytics

于 2018-09-05T21:26:26.233 回答