【问题标题】:Regex to remove last / if it exists as the last character in the string正则表达式删除最后一个 / 如果它作为字符串中的最后一个字符存在
【发布时间】:2011-11-27 23:22:23
【问题描述】:

我想要一个正则表达式或其他方法来删除字符串中的最后一个字符,当且仅当那个字符是'/'。我该怎么做?

【问题讨论】:

  • 您使用什么语言? javascript? php?
  • @Jeff - Javascript,我的朋友在标签上。

标签: javascript regex


【解决方案1】:
string = string.replace(/\/$/, "");

$ 标记字符串的结尾。 \/ 是一个正则转义的/。结合两者 = 替换行尾的/

【讨论】:

    【解决方案2】:

    只是提供一个替代方案:

    var str="abc/";
    str.substring(0, str.length - +(str.lastIndexOf('/')==str.length-1)); // abc
    
    var str="aabb";
    str.substring(0, str.length - +(str.lastIndexOf('/')==str.length-1)); // aabb
    

    这掩盖了Number(true) === 1Number(false) === 0 的事实

    【讨论】:

      【解决方案3】:
      var str = //something;
      if(str[str.length-1] === "/") {
          str = str.substring(0, str.length-1);
      }
      

      【讨论】:

        【解决方案4】:
        var str = "example/";
        str = str.replace(/\/$/, '');
        

        【讨论】:

          【解决方案5】:
          var t = "example/";
          t.replace(/\/$/, ""));
          

          【讨论】:

            【解决方案6】:

            这不是正则表达式,但可以解决您的问题

            var str = "abc/";
            
            if(str.slice(-1) == "/"){
            str = str.slice(0,-1)+ "";
            }
            

            【讨论】:

            • str.endsWith("/")代替str.slice(-1) == "/"可能更干净,
            【解决方案7】:
            $('#ssn1').keyup(function() {
                  var val = this.value.replace(/\D/g, '');
                  val = val.substr(0,9)
                  val = val.substr(0,3)+'-'+val.substr(3,2)+'-'+val.substr(5,4)
                  val = val.replace('--','').replace(/-$/g,'')
                  this.value = val;
            });
            

            【讨论】:

              猜你喜欢
              • 2013-04-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-03-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多