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

strrep

부분문자열 찾아 바꾸기

설명

예제

newStr = strrep(str,old,new)str에서 모든 old 항목을 new로 바꿉니다.

예제

모두 축소

문자형 벡터를 만들고, 그 안의 부분문자열을 바꿉니다.

chr = 'The quick brown fox'
chr = 
'The quick brown fox'
newChr = strrep(chr,'quick','sly')
newChr = 
'The sly brown fox'

string형 배열을 만듭니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

str = ["the quick brown fox";
       "and the lazy dog"]
str = 2x1 string array
    "the quick brown fox"
    "and the lazy dog"

배열의 각 요소에 있는 부분문자열을 바꿉니다.

newStr = strrep(str,'the','a')
newStr = 2x1 string array
    "a quick brown fox"
    "and a lazy dog"

한 셀형 배열에 자리 표시자로 되어 있는 텍스트 '___'을 두 번째 셀형 배열에 있는 다른 값으로 바꿉니다.

C1 = {'Date Received: ___';
      'Date Accepted: ___'};
old = '___';
new = {'2016-09-06';
       '2016-10-11'};
C2 = strrep(C1,old,new)
C2 = 2x1 cell array
    {'Date Received: 2016-09-06'}
    {'Date Accepted: 2016-10-11'}

반복되는 겹치는 패턴으로 문자형 벡터를 만듭니다. strrep, replace, regexprep 함수를 사용하여 패턴을 바꾼 결과를 비교합니다.

repeats = 'abc 2 def 22 ghi 222 jkl 2222'
repeats = 
'abc 2 def 22 ghi 222 jkl 2222'

strfind 함수를 사용하여 반복되는 패턴 '22'의 인덱스를 찾습니다. strfind는 겹치는 인스턴스까지 포함하여 패턴의 모든 인스턴스를 찾습니다.

indices = strfind(repeats, '22')
indices = 1×6

    11    18    19    26    27    28

strrep를 사용하여 '22'를 바꿉니다. strrepstrfind로 식별되는 모든 인스턴스를 바꿉니다.

using_strrep = strrep(repeats, '22', '*')
using_strrep = 
'abc 2 def * ghi ** jkl ***'

replace를 사용하여 '22'를 바꿉니다. 이 함수는 strrep가 바꾸는 모든 인스턴스를 바꾸지는 않습니다.

using_replace = replace(repeats, '22', '*')
using_replace = 
'abc 2 def * ghi *2 jkl **'

regexprep를 사용하여 '22'를 바꿉니다. 결과는 replace 함수를 사용한 것과 동일합니다.

using_regexprep = regexprep(repeats, '22', '*')
using_regexprep = 
'abc 2 def * ghi *2 jkl **'

strrep는 인스턴스를 바꾸기 전에 패턴의 모든 인스턴스를 찾습니다. 그러나 replace 함수와 regexprep 함수는 텍스트 안에서 찾는 즉시 패턴의 인스턴스를 바꿉니다.

입력 인수

모두 축소

입력 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: string | char | cell

바꿀 부분문자열로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

old가 비 스칼라 문자열 또는 셀형 배열인 경우에는 str과 크기가 동일해야 합니다. 그렇지 않으면 이것은 문자형 벡터 또는 string형 스칼라일 수 있습니다.

데이터형: string | char | cell

새 부분문자열로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

new가 비 스칼라 문자열 또는 셀형 배열인 경우에는 str과 크기가 동일해야 합니다. 그렇지 않으면 이것은 문자형 벡터 또는 string형 스칼라일 수 있습니다.

데이터형: string | char | cell

알고리즘

  • strrep 함수는 빈 문자형 벡터나 빈 string형을 찾아 바꾸지는 않습니다. 즉, strold가 모두 빈 문자형 벡터('')나 빈 string형("")을 포함할 경우, strrep은 빈 문자형 벡터나 빈 string형을 new의 내용으로 바꾸지 않습니다.

  • strrepstrfind 함수와 마찬가지로, 텍스트를 바꾸기 전에 str에서 old를 모두 찾습니다. 패턴이 겹치는 경우 strrep는 교체를 여러 번 수행합니다.

확장 기능

R2006a 이전에 개발됨