개념
C++는 두 종류의 문자열(string)을 지원한다. C-스타일 문자열은 char 타입의 배열로서 null 문자 '\0'으로 끝난다. C-스타일 문자열 자체는 복잡한 문자열 연산을 지원하지 않는다. STL은 완벽한 string 클래스를 제공한다. string 클래스의 ADT는 다음과 같다.
추상 데이터 타입(ADT)
- size(): 문자열에 포함된 문자의 수 n을 반환한다.
- empty(): 문자열이 비었다면 true를 그렇지 않다면 false를 반환한다.
- operator[i]: 문자열의 인덱스 i에 있는 문자를 반환한다.
- insert(i,Q): 문자열의 인덱스 i앞에 문자열 Q를 삽입한다.
- append(Q): 문자열 뒤에 문자열 Q를 연결한다.
- erase(i, m): 문자열의 인덱스 i부터 m개의 문자를 지운다.
- substr(i, m): 문자열의 인덱스 i부터 m개의 부분문자열을 반환한다.
- find(Q): 만약 문자열 Q가 원래 문자열의 부분문자열이면 Q가 처음 나타나는 시작위치에 대한 인덱스를 반환한다.
- c_str(): 문자열의 내용을 포함하는 C-스타일 문자열을 반환한다.
텍스트 프로세싱
텍스트 처리를 위한 알고리즘에 중심의 문자열을 다루는 방법들이 있다. 여러 전형적인 문자열 처리 연산은 큰 문자열을 더 작은 문자열로 쪼개는 것을 포함한다. 이러한 연산의 결과로부터 생성된 조각들에 대해 이야기하기 위해 부분문자열(substring)이란 용어를 사용한다. 부분문자열은 문자열 P에서 색인(index) i부터 j까지의 문자들에 형형성되는 문자열이다.
반응형
댓글