【问题标题】:Replace four last characters in a string替换字符串中的最后四个字符
【发布时间】:2012-01-11 09:59:10
【问题描述】:

我想替换图像的最后四个字符。

第一季度)

我想要这个:

http://domain.com/image1.jpg
http://domain.com/image2.png
http://domain.com/image3.gif

变成:

http://domain.com/image1-big.jpg
http://domain.com/image2-big.png
http://domain.com/image3-big.gif

Q2)

然后我希望能够以相反的方式进行(从文件名中删除 -big)

对 Q1 和 Q2 有什么建议吗?

【问题讨论】:

    标签: javascript replace filenames


    【解决方案1】:
    var str = 'http://domain.com/image1.jpg';
    
    // Embiggen
    str.replace(/\.(gif|png|jpg)$/, '-big.$1');
    
    // Unbiggen
    str.replace(/-big\.(gif|png|jpg)$/, '.$1');
    

    这有点幼稚,但应该可以。

    【讨论】:

    • 谢谢亚历克斯!这是一种有效的方法吗(我打算在很多图像上这样做)。
    • 现代 JS 引擎中高度优化的操作中短字符串的短正则表达式替换。根据 JSperf.com 的说法,这个 sn-p 每秒运行大约 140 万次:jsperf.com/isregexsupafast 够快吗?
    • 呵呵,够快了。感谢您的解释:D
    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    相关资源
    最近更新 更多