나는이 다음과 같은 패턴을 따르는 파일 경로 :이 파일 경로의 마지막 부분은 어떻게 구합니까?
일부 \ 파일 \ 경로 \ 자료 \ yyyy를 \ MM \ DD \ HH \ mm \ Random8.3
I 2012 년 이후 모든 것을 추출 할그러나 문제는 오른쪽이 표준이지만 기본 디렉토리는 각 레코드마다 다를 수 있다는 것입니다.
C : \ 온도 \ X \ 2012 \ 08 \ 27 \ 18 \ 35 \ wy32dm1q.qyt
결과 :2012\08\27\18\35\wy32dm1q.qyt
D : \ 온도
는 다음 두 가지 예 \ X \ Y \ 2012 \ 08 \ 27 \ 18 \ 36 개 \ tx84uwvr.puq
반환 값 : 지금2012\08\27\18\36\tx84uwvr.puq
2012 년 이전에 문자열의 인덱스를 얻으려면 LastIndexOf(Path.DirectorySeparatorChar)
N 번을 가져온 다음 해당 인덱스에서 하위 문자열을 가져옵니다. 그러나 나는 아마도 더 좋은 방법이 있다고 생각한다.
나는 나의 대답을 철회하고있다, 나는 당신의 질문에서 "그리고 그 이상"을 주목했다. 정규식 "\\\ d {4} \\"와 일치하는 함수를 작성하여 다음 10 문자를 DateTime으로 변환 한 후 01-01-2012와 비교합니다. 불행히도 정규 표현식에 대한 전문 지식이 부족하고 권위있는 답변을 제공 할 수 없습니다. –
이 기본 디렉토리가 앱의 변수로 있습니까? –
정규식을 사용할 수도 있지만 그 이유는 무엇입니까? LastIndexOf를 for 루프에서 두드려서 아마도 자체 메서드로 래핑하면 충분합니다. –