使用JavaScript解析分隔文本行

时间:2012-09-08 00:34:53

标签: javascript string text extract

您好我是javascript的新手,我想提取文本但只是其中的一部分。例如,如果它提取此文本:

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

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

3 个答案:

答案 0 :(得分:2)

试试这个:

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

请注意,只有当文件名位于字符串的开头并且您正在获取.jpg文件时,这才会起作用。


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

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

答案 1 :(得分:1)

您可以使用分割功能:

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

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

使用Regex是一个选项,但我知道正则表达式更慢。

编辑:也许您希望看到这一个:http://jsperf.com/regex-vs-split/2

答案 2 :(得分:0)

我会使用正则表达式。例如......

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