1. 부분 문자열을 검색하고 위치를 구하는 방법
IndexOf 메서드는 인수로 전달받은 부분 문자열이 문자열 안에서 처음 발견된 위치(0에서 시작하는 인덱스로 표시)를 반환한다.
var target = "Name=Note9;Company=SAMSUNG";
var index = target.IndexOf("Company=");
"Company="가 있는 위치(0에서 시작함)를 구한다.
index에는 11이 대입된다.
SubString, Remove, Insert처럼 인덱스를 인수로 받는 메서드를 호출할 때 이 IndexOf 메서드를 이용하게 된다.
2. 문자열의 일부를 추출하는 방법
아래는 문자열의 일부를 추출하는 코드이다.
var target = "Name=Note9;Company=SAMSUNG";
var value = "Company=";
var index = target.IndexOf("Company=") + value.Length;
//부분 문자열 추출
var company = target.Substring(index);
"Company="의 'C'의 인덱스에 문자열의 길이(value.Length)를 더해서 시작 위치(위 코드에서는 SAMSUNG의 시작 위치)를 구할 수 있다.
위의 코드를 실행하면 company에 "SAMSUNG"이 대입된다.
추출할 부분 문자열의 길이를 지정하여 Substring 메서드를 사용할 수도 있다.
var target = "Name=Note9;Company=SAMSUNG;Price=100";
var value = "Company=";
var startIndex = target.IndexOf("Company=") + value.Length;
var endIndex = target.IndexOf(“;”, startIndex);
//startIndex : 시작 위치, endIndex - startIndex : 추출할 길이
var company = target.Substring(startIndex, endIndex - startIndex);
위 코드를 실행하면 끝부분 문자열이 아니더라도 문자열을 추출할 수 있다.
'C# > 문자열' 카테고리의 다른 글
StringBuilder를 사용해 문자열 연결 (0) | 2021.08.15 |
---|---|
지정한 문자로 문자열을 분할 (Split 메서드) (0) | 2021.08.15 |
문자열의 변환(공백 제거, 임의 개수의 문자 삭제, 삽입, 치환, 대소문자 변환) (0) | 2021.08.13 |
문자열을 판정하는 방법 (null 또는 빈 문자열, 시작, 포함, 조건 만족) (0) | 2021.08.12 |
C# string의 기본적인 특징 (0) | 2021.08.08 |