1

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

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

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

4

3 回答 3

2

试试这个:

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

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


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

var filename = str.match(/.+\.(jpg|png|gif)/)[0];
于 2012-09-08T00:37:56.840 回答
1

您可以使用拆分功能:

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

于 2012-09-08T00:45:38.837 回答
0

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

var text = "honey_00.jpg :: 1200 x 1703 :: 369.39 KB";
var pattern = /(.*) :: .* :: .*/;
var fileName = pattern.exec(text)[1];
于 2012-09-08T00:40:49.950 回答