您好我是javascript的新手,我想提取文本但只是其中的一部分。例如,如果它提取此文本:
honey_00.jpg :: 1200 x 1703 :: 369.39 KB
我希望它能给我honey_00.jpg
我不想要其他垃圾信息。我只想要文件名。我怎么能这样做?
答案 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];