2011-05-10 4 views

답변

2

글쎄, 실제로는 몇 가지가 있지만 정확히 구문 분석 할 대상에 따라 다릅니다. "C : /.../.../ nameOfFile.extension"과 같은 것을 원하십니까? 아니면 파일의 이름없이? 문제에 대해 구체적으로 설명해 주시겠습니까? 입력은 무엇입니까?

나는이 코드를 매우 간단하게 만들었다. 이것은 주어진 경로에 대해 루트가없는 경로를 제공한다.

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class TestProgram { 

    static String path = "C:\\Folder1\\Folder2\\file.extension"; 

    private static void parsePath() { 
     String newPath = ""; 
     String root = "C:"; 
     Matcher regexMatcher; 
     regexMatcher = Pattern.compile("\\\\").matcher(path); 
     newPath = regexMatcher.replaceAll("/"); 
     regexMatcher = Pattern.compile(root).matcher(newPath); 
     newPath = regexMatcher.replaceAll("");  
     System.out.println(newPath); 
    } 

    public static void main(String[] args) { 
     parsePath();  
    } 
} 

출력은 다음과 같습니다

/Folder1/Folder2/file.extension

이 당신이 원하는 경우 나도 몰라,하지만 당신은 단지 함께 플레이해야 행동 양식. 결국 솔루션에 도달하게됩니다.

2

정규식을 건너 뛰고 분할을 사용하지 않는 이유는 무엇입니까?

var path = "C:\\Users\\Joe.Blow\\Documents\\Pictures\\NotPr0n\\testimage1.jpg" 
var arrPath = path.split("\\"); 
var filename = arrPath[arrPath.length - 1]; 
var drive = arrPath[0]; 

관련 문제