정규 표현식을 사용하여 다음 정보를 추출하는 데 도움이 필요합니다. "예 \ C"하지만 마지막에 = 이상한 첨자는 L.보고하지 사이에 문자열의 시작과에 문자를 누락정규식을 사용하여 문자열에서 데이터 추출
******** * 여기
내 입력 문자열 **"C : \"를 한 문자열로, "예"를 다른 문자열로 추출해야합니다.
감사의 말을 전합니다.
정규 표현식을 사용하여 다음 정보를 추출하는 데 도움이 필요합니다. "예 \ C"하지만 마지막에 = 이상한 첨자는 L.보고하지 사이에 문자열의 시작과에 문자를 누락정규식을 사용하여 문자열에서 데이터 추출
******** * 여기
내 입력 문자열 **"C : \"를 한 문자열로, "예"를 다른 문자열로 추출해야합니다.
감사의 말을 전합니다.
다음 정규 표현식은 첫 번째 캡처 그룹에 C:\
을 반환하고 두 번째에 나머지는 :
^(\w:\\)(.*)$
이가 찾고 : 편지 (\w
로 시작하는 전체 문자열 (^…$
), 비록 [a-z]
것 Windows 드라이브 문자의 경우 더 정확할 수 있음), :\
이 뒤에옵니다. 모든 나머지 (.*
)는 두 번째 그룹에 캡처됩니다.
UNC 경로에서는 작동하지 않습니다. 경로로 작업하는 경우 가장 좋은 방법은 문자열 및 정규 표현식을 사용하는 것이 아니라 System.IO
에있는 API를 사용하는 것입니다. 클래스는 이미 원하는 기능을 제공합니다.
그래서 지금 3 시간 동안 평면을 노력하고있다. 내 문제가 해결된다면 대답 해 줄게. 감사. – IbrarMumtaz
Regex r = new Regex("([A-Z]:\\)([A-Za-z]+)");
Match m = r.Match(@"C:\");
string val1 = m.Groups[0];
string val2 = m.Groups[1];
정규 표현식을 사용하지 않아도됩니다. 너무 많은 일을, 나는 그것을 망칠 너무 가능성이 높습니다.
var x = @"C:\Yes";
var root = Path.GetPathRoot(x); // => @"C:\"
var file = Path.GetFileName(x); // => "Yes"
괜찮 았지만 경로로 작동하지 않습니다. 예입니다. 어쨌든 고마워. – IbrarMumtaz
"C : \ Yes"처럼 보이면 경로가 아닐지라도 주어진 이유에 따라이 방법을 사용합니다. 구성 파일이든 아니든간에 컴퓨터에는 아무런 차이가 없습니다. – Alec
나는 아이디어를 가지고 있지만 나는이 슛, 그것은 내가 원하는 모양주고 goiong 읽을 수있을만큼 쉬운 것입니다 ... =) – IbrarMumtaz