2010-03-09 3 views
0

Path.GetDirectoryName()을 사용해 보았지만 작동하지 않습니다.경로의 디렉토리 이름은 어떻게 얻을 수 있습니까?

, 내가

나는이 어떻게 할 수있는

얻을 "some_folder을"싶어 집/nubela/테스트/some_folder /에서 내가 얻으려고입니까? 이 방법은 Windows/Linux (모노) 모두에서 작동해야합니다.

고마워요!

답변

1

이미 당신은 가장 낮은 수준의 디렉토리를 추출하기 위해이 방법을 사용할 수 있습니다 :이 코드는 Path.DirectorySeparatorChar를 사용

String dir 
    = yourPath.Substring(
      yourPath.LastIndexOf(Path.DirectorySeparatorChar) + 1); 

때문에이 플랫폼에 독립적이다.

6

대신 Path.GetFileName을 사용 하시겠습니까? 이 함수는 제공하는 문자열에서 작동하며 디렉토리 또는 파일 경로 인 경우에는 상관하지 않습니다. 당신이 문자열로 경로가있는 경우

+0

우리는 항상 이식성을 위해 경로 기능을 사용한다고 말합니다. –

+0

그것은 적절한 방법입니다. 메소드 이름은 오해의 소지가 있지만, Nubela가 원하는대로 경로의 마지막 부분을 얻는 것입니다. 특별주의 사항에주의하십시오. "C : \ temp \"와 같은 경로를 지정하면 빈 문자열이 반환됩니다.이 경우 마지막 문자열 분리 자 다음에 오는 문자열을 가져옵니다. http://msdn.microsoft.com/en-us/library/system.io.path.getfilename.aspx를 참조하십시오. – Monoman

0

첫 번째 아이디어는 System.IO.Path.GetDirectoryName을 사용하는 것입니다. 그러나 정규 표현식을 사용하여 문자열의 마지막 부분 문자열을 얻을 수 있습니다. Here is an answer in StackOverflow,이를 정규 표현식을 사용하여 답변합니다.

관련 문제