은 내가파일 이름이 와일드 카드 패턴과 일치하는지 어떻게 확인합니까?
Directory.GetFiles(@"c:\", "*.html")
을 할 수 알고 난 * .html 파일 패턴과 일치하는 파일의 목록을 얻을 것이다.
나는 그 역변환을하고 싶습니다. 주어진 파일 이름 abc.html, 그 파일 이름이 * .html 패턴과 일치하는지 알려주는 메소드가 필요합니다. 예 :
class.method("abc.html", "*.html") // returns true
class.method("abc.xml", "*.html") // returns false
class.method("abc.doc", "*.?oc") // returns true
class.method("Jan24.txt", "Jan*.txt") // returns true
class.method("Dec24.txt", "Jan*.txt") // returns false
기능이 dotnet에 존재해야합니다. 나는 그것이 어디에 노출되어 있는지 모릅니다.
패턴을 정규식으로 변환하는 것이 한 가지 방법 일 수 있습니다. 그러나 그것은 많은 엣지 경우가있는 것처럼 보이며 가치가있는 것보다 더 많은 문제가 될 수 있습니다.
참고 : 질문의 파일 이름이 아직 존재하지 않을 수 있으므로 Directory.GetFiles 호출을 감싸고 결과 집합에 항목이 있는지 확인하지 못할 수 있습니다. 갈
잘못된 파일 이름에는 작동하지 않습니다. 'Match ("aaa/bbb.txt", "* .txt");'는 * true를 반환합니다 * – I4V
원래 질문에는 경로가 포함되지 않고 파일 이름 만 일치합니다. 그러나 Path.GetFileName()을 사용하여 항상 파일 이름을 추출 할 수 있습니다. – Alexander
나는 ** aaa/bbb.txt와 같은 ** 잘못된 ** 파일 이름을 말했다. * * 경로 * – I4V