【问题标题】:Replace all text before a certain point替换某个点之前的所有文本
【发布时间】:2012-05-21 01:56:04
【问题描述】:
$(function(){
    var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ";
    var replaced = alphabet.replace(/(M).+$/,'');
    $('body').text(replaced);
});

我怎样才能让它朝着相反的方向发展,替换 M 和它之前的所有东西?

【问题讨论】:

  • 您的字母表中没有W 和两个Es? ;)
  • @cliffsofinsanity 它被旋转了。
  • 一看到你的评论,我就想看看 W 和 E 键是否彼此相邻;果然。

标签: javascript jquery regex


【解决方案1】:

使用/^.+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/

【讨论】:

    【解决方案2】:

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

    $(function(){
        var alphabet = "ABCDEFGHIJKLMNOPQRSTUVEXYZ";
        var replaced = alphabet.split("M")[1];
        $('body').text(replaced);
    });
    

    【讨论】:

      【解决方案3】:

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

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

      所以要在https://www.google.com/analytics 中获取“google.com”之后的所有内容,我必须这样做

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

      replaced 将返回 /analytics

      【讨论】:

        猜你喜欢
        • 2021-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-07
        • 2017-08-30
        • 1970-01-01
        相关资源
        最近更新 更多