이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

strfind

다른 문자열 내에서 문자열 찾기

설명

예제

k = strfind(str,pattern)str에서 pattern이 검색되는 경우를 검색합니다. 출력 인수 kstr에서 검색된 각 pattern의 시작 인덱스를 나타냅니다. pattern을 찾을 수 없으면 strfind는 빈 배열 []을 반환합니다. strfind 함수는 대/소문자를 구분하여 검색을 실행합니다.

  • str이 문자형 벡터나 string형 스칼라이면 strfinddouble형의 벡터를 반환합니다.

  • str이 문자형 벡터로 구성된 셀형 배열이나 string형 배열이면 strfinddouble형의 벡터로 구성된 셀형 배열을 반환합니다.

예제

k = strfind(str,pattern,'ForceCellOutput',cellOutput)str이 문자형 벡터인 경우에도 cellOutput이 true이면 strfindk를 셀형 배열로 반환하도록 합니다.

예제

모두 축소

문자형 벡터에서 특정 패턴의 검색 건에 대한 시작 인덱스를 구합니다.

먼저, 문자형 벡터를 만듭니다.

str = 'Find the starting indices of a pattern in a character vector';

패턴 in을 찾습니다.

k = strfind(str,'in')
k = 1×4

     2    15    19    40

str에는 이 패턴이 4개 있습니다.

패턴 In을 찾습니다.

k = strfind(str,'In')
k =

     []

strfind는 대/소문자를 구분하므로, 이와 일치하는 패턴을 찾을 수 없어 k는 빈 배열이 됩니다.

str에서 공백을 찾습니다.

k = strfind(str,' ')
k = 1×10

     5     9    18    26    29    31    39    42    44    54

str에는 10개의 공백이 있습니다.

문자형 벡터로 구성된 셀형 배열에서 특정 패턴의 검색 건에 대한 시작 인덱스를 구합니다.

문자형 벡터로 구성된 셀형 배열을 만듭니다.

str = {'How much wood would a woodchuck chuck';
       'if a woodchuck could chuck wood?'};

str에서 패턴 wood를 찾습니다.

idx = strfind(str,'wood')
idx = 2x1 cell array
    {1x2 double}
    {1x2 double}

출력 셀형 배열을 검토하여 패턴이 검색되는 경우를 찾습니다.

idx{:,:}
ans = 1×2

    10    23

ans = 1×2

     6    28

패턴 wood는 첫 번째 문자형 벡터의 인덱스 10과 23, 그리고 두 번째 문자형 벡터의 인덱스 6과 28에 있습니다.

문자형 벡터에서 특정 패턴을 모두 찾습니다. strfind가 이 패턴의 검색 건에 대한 인덱스를 셀형 배열로 강제 반환하도록 합니다. 그런 다음 인덱스를 표시합니다.

문자형 벡터를 만든 다음, 여기에서 패턴 ain을 모두 찾습니다.

str = 'The rain in Spain.';
k = strfind(str,'ain','ForceCellOutput',true)
k = 1x1 cell array
    {1x2 double}

strfind는 숫자형 배열이 포함된 스칼라 셀을 반환하며, 이 숫자형 배열은 str에서 패턴 ain의 검색 건에 대한 인덱스를 포함합니다. 셀 내의 숫자형 배열에 액세스하려면 중괄호를 사용하십시오.

k{1}
ans = 1×2

     6    15

입력 인수

모두 축소

검색할 데이터로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열 중 하나로 지정됩니다.

데이터형: char | cell | string

검색 패턴으로, 문자형 벡터나 string형 스칼라로 지정됩니다.

데이터형: char | string

출력값을 강제로 셀형 배열로 반환할지에 대한 표시자로, false, true, 0, 1 중 하나로 지정됩니다.

데이터형: logical

출력 인수

모두 축소

검색된 pattern의 인덱스로, 배열로 반환됩니다. pattern을 찾을 수 없으면 k는 빈 배열 []입니다.

  • str이 문자형 벡터나 string형 스칼라이면 kpattern의 각 검색 건의 인덱스를 나타내는 double형 벡터입니다.

  • str이 문자형 벡터로 구성된 셀형 배열이나 string형 배열이면 k는 셀형 배열입니다. str의 각 텍스트 조각에 대해, k의 대응하는 셀은 pattern의 각 검색 건의 인덱스를 나타내는 double형 벡터를 포함합니다.

  • pattern이 문자가 없는 문자형 벡터('')이거나 문자가 없는 string형 스칼라("")인 경우 strfind는 빈 배열을 반환하게 됩니다.

  • R2016b부터는 string형 배열 내의 패턴을 검색하는 데 contains 함수를 사용하는 것이 좋습니다.

확장 기능

R2006a 이전에 개발됨