문자열에서 N개의 연속된 요소를 추출하는 방법
"Hello" 문자열을 문자 단위 2-gram으로 추출
He
el
ll
lo
문자열의 처음부터 끝가지 이동하면서 2글자를 추출
2-gram
int main()
{
char text[30] = "Hello";
int length;
length = strlen(text);
for (int i = 0; i < length - 1; i++) // length-1 - 마지막 null은 빼야하므로 (o NULL)
{
printf("%c %c\n", text[i], text[i+1]);
}
}
>>> He
>>> el
>>> ll
>>> lo
문자열 단위 2-gram
int main()
{
char text[100] = "thie is c language";
char *tokens[30] = {NULL, };
int count = 0;
char *ptr = strtok(text, " ");
while(ptr != NULL)
{
tokens[count] = ptr;
ptr = strtok(NULL, " ");
count++;
}
for (int i = 0; i < count - 1; i++)
{
printf("%s %s\n", tokens[i], tokens[i+1]);
}
}