가끔 부득이하게 DB에서 여러 문자열을 붙여서 읽어와야하는 경우가 있다.
이런경우 원하는 문자열을 얻기 위해서 C#에서는 IndexOf메서드와 Substring메서드를 사용할 수 있다.

예를 들어 다음과 같이 자신의 아이디와 이메일을 붙여서 읽어온 경우에는,

'c_shop' + '&' + 'choiseungdo#email.com'

다음과 같이 처리 할 수 있다.

string ex = "c_shop&choiseungdo#email.com";
int index = ex.IndexOf('&') + 1;
string ex2 = ex.Substring( index, ex.Length - index );

위에서 '+1'을 한 이유는

             ↓ indexOf = 7
"c_shop&choiseungdo#email.com"
               ↑ 여기서 부터 읽어서 잘라야 하기 때문에
                int index = ex.IndexOf('&') + 1; 이 되는 것이다.

또한 ex.Substring( index, ex.Length - index );에서 
ex.Length - index를 한 이유는 index부터 시작해서 잘라 읽어오기 때문에 ex.Length만큼 읽어오면 배열의 범위를 벗어나는 오류가 발생한다. 따라서 index만큼 제외한 길이를 읽어와야 하는 것이다.

↓               ex.Length                 ↓
"c_shop&choiseungdo#email.com"
               ↑ --ex.Length - index--↑

+ Recent posts