【发布时间】:2012-09-08 00:34:52
【问题描述】:
嗨,我对 javascript 很陌生,我想提取一个文本,但只是其中的一部分。例如,如果它提取此文本:
honey_00.jpg :: 1200 x 1703 :: 369.39 KB
我希望它给我honey_00.jpg 我不想要其他垃圾信息。我只想要文件名。我该怎么做?
【问题讨论】:
标签: javascript string text extract
嗨,我对 javascript 很陌生,我想提取一个文本,但只是其中的一部分。例如,如果它提取此文本:
honey_00.jpg :: 1200 x 1703 :: 369.39 KB
我希望它给我honey_00.jpg 我不想要其他垃圾信息。我只想要文件名。我该怎么做?
【问题讨论】:
标签: javascript string text extract
试试这个:
var filename = str.match(/.+\.jpg/);
请注意,这仅在文件名位于字符串开头并且您正在获取 .jpg 文件时才有效。
要匹配 .jpg、.png 或 .gif 文件,您可以使用:
var filename = str.match(/.+\.(jpg|png|gif)/)[0];
【讨论】:
您可以使用拆分功能:
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
【讨论】:
我会使用正则表达式。比如……
var text = "honey_00.jpg :: 1200 x 1703 :: 369.39 KB";
var pattern = /(.*) :: .* :: .*/;
var fileName = pattern.exec(text)[1];
【讨论】: