日期:2014-05-17  浏览次数:20808 次

求对一个字符串的操作拿出里面所有的图片名字!
因为是 HTML 编辑器 存到数据库里面 clob
比如是这样一个字符串(可能更复杂)
<img src="/vvMall/mallStoreImg/122/htmlImg/7ca76e82-0270-48f8-bd79-87bf1cb1486c.jpg" alt="" /><img src="/vvMall/mallStoreImg/122/htmlImg/81f2335e-eb5d-4a52-9a17-de04007495e6.jpg" alt="" />看看啦啦的萨<span style="background-color: rgb(255, 255, 102);">芬阿萨德安抚</span><br />

求拿出里面所有的图片名字 方法

还有求如何拿到一个文件夹下所有文件的名字的方法

------解决方案--------------------
用正则表达式匹配以“/”开头以“.jpg”结尾的字符串

用file 读取文件夹循环里面的文件然后getname..
------解决方案--------------------
假设你的文本为变量str
Java code

        List<String> imgList = new ArrayList<String>();
        Pattern pattern = Pattern.compile("\"(/.*?\\.jpg)\"");
        Matcher matcher = pattern.matcher(str);
        if (matcher.find()) {
            imgList.add(matcher.group(1));
            while (matcher.find(matcher.end())) {
                imgList.add(matcher.group(1));
            }
        }

------解决方案--------------------
Java code

//供参考
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.List;
import java.util.ArrayList;

import java.io.File;

class Test
{

    public static void main(String[] args)
    {
        //取名称
        String str = "vvMall/mallStoreImg/122/htmlImg/7ca76e82-0270-48f8-bd79-87bf1cb1486c.jpg /><img /vvMall/mallStoreImg/122/htmlImg/81f2335e-eb5d-4a52-9a17-de04007495e6.jpg/>看看啦啦的萨<span style=background-color: rgb(255, 255, 102);>芬阿萨德安抚</span><br />";
        String regex = "[\\w,-]+\\.jpg";
        
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(str);
        List<String> list = new ArrayList<String>();
        while(m.find())
        {
            list.add(m.group());
        }
        System.out.println(list);
        
        //取文件
        File file = new File("d:\\1\\");
        File[] files = file.listFiles();
        for(File f :files)
        {
            if(f.isFile())
                list.add(f.toString());
        }
        System.out.println(list);
    }

}

------解决方案--------------------
用js获得获得所有图片url
JScript code

document.getElementsByTagName("img");