【问题标题】:javascript replace charactersjavascript替换字符
【发布时间】:2011-10-29 05:38:57
【问题描述】:

我想替换以这种格式出现的字符串中所有出现的“-”、“:”字符和空格:

"YYYY-MM-DD HH:MM:SS"

类似:

var date = this.value.replace(/:-/g, "");

【问题讨论】:

    标签: javascript replace


    【解决方案1】:

    你很亲密:"YYYY-MM-DD HH:MM:SS".replace(/:|-/g, "")

    【讨论】:

    • "YYYY-MM-DD HH:MM:SS".replace(/\s|:|-/g, "")| 表示“或”。
    • /:|-| /g。你只是管另一个。但如果你有更多角色,我会选择@Rocket 的解决方案,因为它看起来更好
    【解决方案2】:

    /:-/g 表示":" followed by "-"。如果将字符放在[] 中,则表示":" or "-"

    var date = this.value.replace(/[:-]/g, "");
    

    如果要删除空格,请将\s 添加到正则表达式。

    var date = this.value.replace(/[\s:-]/g, "");
    

    【讨论】:

      【解决方案3】:

      你想要的正则表达式是可能

      /[\s:-]/g
      

      使用示例:

      "YYY-MM-DD HH:MM:SS".replace(/[\s:-]/g, '');
      

      [] 块匹配任何包含的字符。

      在其中我添加了匹配空格字符的\s 模式,例如空格 和制表符\t(不确定是否需要制表符和换行符,所以我使用制表符并跳过换行符)。

      您似乎已经猜到您想要global 匹配,它允许正则表达式继续替换它找到的匹配。

      【讨论】:

        【解决方案4】:

        您可以使用字符类或|(或):

        var date = "YYYY-MM-DD HH:MM:SS".replace(/[:-\s]/g, '');
        
        var date = "YYYY-MM-DD HH:MM:SS".replace(/:|-|\s/g, '');
        

        【讨论】:

          猜你喜欢
          • 2014-07-29
          • 1970-01-01
          • 2015-03-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多