【问题标题】:Parse line of delimited text with JavaScript使用 JavaScript 解析分隔文本行
【发布时间】:2012-09-08 00:34:52
【问题描述】:

嗨,我对 javascript 很陌生,我想提取一个文本,但只是其中的一部分。例如,如果它提取此文本:

honey_00.jpg :: 1200 x 1703 :: 369.39 KB

我希望它给我honey_00.jpg 我不想要其他垃圾信息。我只想要文件名。我该怎么做?

【问题讨论】:

    标签: javascript string text extract


    【解决方案1】:

    试试这个:

    var filename = str.match(/.+\.jpg/);
    

    请注意,这仅在文件名位于字符串开头并且您正在获取 .jpg 文件时才有效。


    要匹配 .jpg、.png 或 .gif 文件,您可以使用:

    var filename = str.match(/.+\.(jpg|png|gif)/)[0];
    

    【讨论】:

    • 我喜欢你的方法,但文件名将是 jpg、png 或 gif。是否可以包括所有 3 个?
    【解决方案2】:

    您可以使用拆分功能:

    var str="honey_00.jpg :: 1200 x 1703 :: 369.39 K";
    var n=str.split(" :: ");
    

    演示:http://jsfiddle.net/g9b3D/1/

    使用正则表达式是一种选择,但据我所知,正则表达式速度较慢。

    编辑:也许你想看看这个:http://jsperf.com/regex-vs-split/2

    【讨论】:

      【解决方案3】:

      我会使用正则表达式。比如……

      var text = "honey_00.jpg :: 1200 x 1703 :: 369.39 KB";
      var pattern = /(.*) :: .* :: .*/;
      var fileName = pattern.exec(text)[1];
      

      【讨论】:

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