2016-09-07 4 views
-2

"domain\alias" 형식의 문자열을 포함하는 사용자 입력 변수가 있습니다. 도메인 및 별칭이라는 두 개의 다른 문자열로이 문자열을 분할해야합니다.도메인 별칭 형식으로 문자열 분할

문자열을 리터럴로 변환하는 것에 대해 들었지만 어떻게 도움이되는지 이해하지 못합니다. 도메인이 지정되지 않은 경우에도 사용자를 얻으려면

+0

'doamin' ->'domain' typo? 예제를 보여줄 수 있습니까? –

+0

다음은 예제입니다. 네, 그건 오타였습니다. 내 변수는 xyz입니다. domain \ alias 형식의 문자열을 포함합니다. 이제 도메인과 별칭 – dotnetman

답변

1

쓰기

var x = @"doamin\alias".Split('\\') 

그것은 당신에게 내용

x[0] = "doamin" 
x[1] = "alias" 

파크 배열을 줄 것이다 :

var user = x.Length == 2 ? x[1] : x[0]; 
var domain = x.Length == 2 ? x[0] : null; 
+0

덕분에 두 개의 다른 문자열로 xyz를 분할하고 싶습니다. 하지만 변수 xyz에 문자열이 있다고 말하면 위의 메서드는 작동하지 않습니다. 제안하십시오. – dotnetman

+0

문자열에 '@'접두사가 붙지 않는 한 Infact는 위의 경우에도 작동하지 않습니다. – dotnetman

+0

글쎄'@ "domain \ alias"'는 "domain \\ alias"를 쓰는 것과 정확하게 똑같습니다. 캐릭터 라인 앞에'@'를두면 백 슬래시를 벗어날 필요가 없습니다. http://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c – mortb

1
string input = @"domain\alias"; 
int inputindex= input.IndexOf("\\");   
string domain = input.Substring(0, inputindex); 
string alias = input.Substring(inputindex+1); 
+0

입력에 백 슬래시 ('\')가 포함되어 있지 않으면 다음과 같이 표시됩니다. 'IndexOf()'는 -1을 반환합니다. – CodeCaster

+1

예. 그러나 @dotnetman이 물어 본 질문은이 예외를 지정하지 않습니다. 그렇습니까? –

+1

방어 프로그래밍에 대해 읽어보십시오. – CodeCaster