가끔 부득이하게 DB에서 여러 문자열을 붙여서 읽어와야하는 경우가 있다.
이런경우 원하는 문자열을 얻기 위해서 C#에서는 IndexOf메서드와 Substring메서드를 사용할 수 있다.
"c_shop&choiseungdo#email.com"
↑ 여기서 부터 읽어서 잘라야 하기 때문에
int index = ex.IndexOf('&') + 1; 이 되는 것이다.
이런경우 원하는 문자열을 얻기 위해서 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'을 한 이유는
"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--↑