代码之家  ›  专栏  ›  技术社区  ›  BobbyJones

将替换基于数字和值的字符串段的自定义正则表达式

  •  0
  • BobbyJones  · 技术社区  · 8 年前

    我想做的是提供一个自定义Javascript函数,当用户调用字符串时,将根据数字和值替换字符串的一段

    该数字告诉函数应该在第n个连字符后替换哪个段值。

    该值告诉函数新的字符串值替换将是什么。

    例如:

    var x = '4-D-5200-P41-120-08C2-8131-0000-9'
    
    var str = RepFinCode(x,2,'ABCD")
    

    因此,经过一些处理。。。

    str = '4-D-ABCD-P41-120-08C2-8131-0000-9'
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   kabanus    8 年前

    这应该可以做到:

    var x = '4-D-5200-P41-120-08C2-8131-0000-9';
    var n = 3;
    var s = 'ABCD';
    var r = new RegExp('(([^-]+-){' + n + '})[^-]+-');
    
    document.getElementById('a').innerHTML = x.replace(r, '$1' + s + '-');
    <div id='a'></div>

    正如注释中所述,这可能不是一种方式——它不会缩短代码,不会更快,也不会更具可读性。