C:\TEST\\ADMINISTRATOR\\3\\C:\TEST\\c:\test\e.exe\\3\\C:\TEST\TEMP\TEMP_IMAGE.BMP\\GUEST\\3\\
要求:每隔三个#截一次,java语言
结果如下:
C:\TEST\\ADMINISTRATOR\\3\\C:\TEST\\c:\test\e.exe\\3\\C:\TEST\TEMP\TEMP_IMAGE.BMP\\GUEST\\3\\

解决方案 »

  1.   

    C:\TEST\\ADMINISTRATOR\\3\\C:\TEST\\c:\test\e.exe\\3\\C:\TEST\TEMP\TEMP_IMAGE.BMP\\GUEST\\3\\
    要求:每隔三个\\截一次,java语言
    结果如下:
    C:\TEST\\ADMINISTRATOR\\3\\C:\TEST\\c:\test\e.exe\\3\\C:\TEST\TEMP\TEMP_IMAGE.BMP\\GUEST\\3\\
      

  2.   

    public class SplitTest
    { public static void main(String[] args)
    {
    String xml = "C:\\TEST\\ADMINISTRATOR\\3\\#C:\\TEST\\c:\\test\\e.exe\\3\\#C:\\TEST\\TEMP\\TEMP_IMAGE.BMP\\GUEST\\3\\";
    String[] result = xml.split("#");
    for (int i = 0; i < result.length; i++)
    {
    System.out.println(result[i]);
    }
    }
    }
    -----------------------------------------------------------------
    结果:
    C:\TEST\ADMINISTRATOR\3\
    C:\TEST\c:\test\e.exe\3\
    C:\TEST\TEMP\TEMP_IMAGE.BMP\GUEST\3\
    ------------------------------------------------------------------
    不要意思没看到你说的#符号,我自己在里面加上了,修改了一下你的String字符串,大概就是用split,和你想要的结果有点出入,
    你自己修改一下String ,自己看看增删一下转义符(\)来达到效果吧
      

  3.   

    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test01 {
        public static void main(String[] args) {
            String str = "C:\\TEST\\\\ADMINISTRATOR\\\\3\\\\C:\\TEST\\\\c:\\test\\e.exe\\\\3\\\\C:\\TEST\\TEMP\\TEMP_IMAGE.BMP\\\\GUEST\\\\3\\\\";
            String regex = "(?:.*?\\\\\\\\){3}";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(str);
            List<String> list = new ArrayList<String>();
            while(matcher.find()) {
                list.add(matcher.group());
            }
            
            for(int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
    }