Main Content

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

텍스트를 검색하고 바꾸기

문자형 배열과 string형 배열에서 텍스트를 검색하고, 부분문자열을 새 텍스트로 바꿀 수 있습니다. string형 배열과, 텍스트를 검색하고 바꾸는 새로운 함수는 R2016b에서 추가되었습니다. contains 같은 함수를 사용하여 부분문자열을 검색합니다. 마찬가지로, replace 함수를 사용하여 문자열에 포함된 텍스트를 바꾸거나 extractBetween과 같은 함수를 사용하여 텍스트를 추출합니다. 이러한 함수는 문자형 벡터 또는 string형 배열에 사용할 수 있습니다. 호환성을 위해 문자형 벡터와 string형 배열 모두에 strfind, strrep와 같은 함수를 사용할 수도 있습니다.

텍스트 검색하기

contains, startsWith, endsWith 함수를 사용하여 string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열의 텍스트를 식별합니다.

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

str = "Rosemary Jones"
str = 
"Rosemary Jones"

str에 부분문자열 mary가 포함되어 있는지 여부를 확인합니다. contains 함수는 문자열 내의 임의 위치에서 부분문자열을 찾을 경우 논리값 1을 반환합니다.

TF = contains(str,"mary")
TF = logical
   1

또한 strfind 함수를 사용하여 일치하는 텍스트도 찾을 수도 있습니다. strfind는 각 일치 항목의 시작 인덱스를 반환합니다. 이 경우, marymstr의 5번째 문자이므로 strfind5를 반환합니다.

idx = strfind(str,"mary")
idx = 5

strfind를 사용하여 여러 일치 항목을 찾습니다. 일치 항목이 여러 개인 경우 strfind는 인덱스를 배열로 반환합니다.

idx = strfind(str,"s")
idx = 1×2

     3    14

많은 이름이 포함된 string형 배열을 생성합니다. 부분문자열 Ann이 포함된 이름을 확인합니다. contains 함수는 str의 요소 중 Ann이 포함된 모든 요소들의 위치를 1로 나타낸 논리형 배열을 반환합니다. 일치 항목만 포함된 새 string형 배열을 생성하려면 TF를 사용하여 str의 요소를 참조하십시오.

str = ["Rosemary Ann Jones","Peter Michael Smith","Ann Marie Young"]
str = 1x3 string
    "Rosemary Ann Jones"    "Peter Michael Smith"    "Ann Marie Young"

TF = contains(str,"Ann")
TF = 1x3 logical array

   1   0   1

matches = str(TF)
matches = 1x2 string
    "Rosemary Ann Jones"    "Ann Marie Young"

Ann으로 시작하는 문자열을 찾습니다.

TF = startsWith(str,"Ann");
matches = str(TF)
matches = 
"Ann Marie Young"

마찬가지로, endsWith 함수는 지정된 텍스트 조각으로 끝나는 문자열을 찾습니다.

또한 contains, startsWith, endsWith 함수를 사용하여 문자형 벡터에 텍스트가 포함되어 있는지 여부를 확인할 수 있습니다.

chr = 'John Paul Jones'
chr = 
'John Paul Jones'
TF = contains(chr,'Paul')
TF = logical
   1

TF = endsWith(chr,'Paul')
TF = logical
   0

contains 함수를 사용하여 string형 배열의 행에서 텍스트를 찾습니다. census1905에는 1905년의 시뮬레이션 인구 조사 데이터로 구성된 몇 개의 행이 있습니다. 각 행에는 이름, 출생 연도, 해당 연도에 해당 이름이 지어진 횟수가 포함되어 있습니다.

census1905 = ["Ann Mary","1905","230";
              "John","1905","5400";
              "Mary","1905","4600";
              "Maryjane","1905","304";
              "Paul","1905","1206"];

Mary와 동일한 이름이 있는 행을 찾습니다.

TF = (census1905(:,1) == "Mary");
census1905(TF,:)
ans = 1x3 string
    "Mary"    "1905"    "4600"

contains 함수를 사용하여 Mary의 변형 이름이 있는 행을 찾습니다.

TF = contains(census1905(:,1),"Mary");
census1905(TF,:)
ans = 3x3 string
    "Ann Mary"    "1905"    "230" 
    "Mary"        "1905"    "4600"
    "Maryjane"    "1905"    "304" 

텍스트 바꾸기

replace 함수를 사용하여 string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열의 텍스트를 바꿀 수 있습니다.

문자열을 생성합니다. 부분문자열 maryanne으로 바꿉니다.

str = "Rosemary Jones"
str = 
"Rosemary Jones"
newStr = replace(str,"mary","anne")
newStr = 
"Roseanne Jones"

strrep 함수를 사용하여 텍스트를 바꿀 수도 있습니다. 그러나 replace 함수를 사용하는 것이 좋습니다.

newStr = strrep(str,"Jones","Day")
newStr = 
"Rosemary Day"

많은 이름이 포함된 string형 배열을 생성합니다.

str = ["Rosemary Ann Jones","Peter Michael Smith","Ann Marie Young"]
str = 1x3 string
    "Rosemary Ann Jones"    "Peter Michael Smith"    "Ann Marie Young"

바꾸려는 이름을 여러 개 지정합니다.

oldText = ["Ann","Michael"];
newText = ["Beth","John"]; 
newStr = replace(str,oldText,newText)
newStr = 1x3 string
    "Rosemary Beth Jones"    "Peter John Smith"    "Beth Marie Young"

문자형 벡터에 포함된 텍스트를 바꿉니다. 문자형 벡터와 string형 모두에 replacereplaceBetween을 사용할 수 있습니다.

chr = 'Mercury, Gemini, Apollo'
chr = 
'Mercury, Gemini, Apollo'
replace(chr,'Gemini','Mars')
ans = 
'Mercury, Mars, Apollo'

파일 이름으로 구성된 string형 배열에 포함된 텍스트를 바꿉니다. 웹 사이트의 주소에 파일 이름을 추가합니다. 파일 이름에 공백이 포함되어 있지만 공백은 웹 주소의 일부가 될 수 없습니다. 공백 문자 " "을 웹 주소의 표준인 %20으로 바꿉니다.

str = ["Financial Report.docx";
       "Quarterly 2015 Details.docx";
       "Slides.pptx"]
str = 3x1 string
    "Financial Report.docx"
    "Quarterly 2015 Details.docx"
    "Slides.pptx"

newStr = replace(str," ","%20")
newStr = 3x1 string
    "Financial%20Report.docx"
    "Quarterly%202015%20Details.docx"
    "Slides.pptx"

웹 사이트의 주소에 파일 이름을 추가합니다.

filenames = "http://example.com/Documents/" + newStr
filenames = 3x1 string
    "http://example.com/Documents/Financial%20Report.docx"
    "http://example.com/Documents/Quarterly%202015%20Details.docx"
    "http://example.com/Documents/Slides.pptx"

텍스트 추출하기

extractAfter, extractBefore, extractBetween 함수를 사용하여 string형 배열이나 문자형 벡터에서 부분문자열을 추출합니다. 이러한 함수를 사용하여 지정된 텍스트 조각의 앞이나 뒤에 오거나, 사이에 오는 다양한 부분문자열을 추출할 수 있습니다.

파일 이름이 포함된 string형 배열을 생성합니다. extractAfter 함수를 사용하여 C:\Temp\ 뒤에서 이름의 일부를 추출합니다.

str = ["C:\Temp\MyReport.docx";
       "C:\Temp\Data\Sample1.csv";
       "C:\Temp\Slides.pptx"]
str = 3x1 string
    "C:\Temp\MyReport.docx"
    "C:\Temp\Data\Sample1.csv"
    "C:\Temp\Slides.pptx"

filenames = extractAfter(str,"C:\Temp\")
filenames = 3x1 string
    "MyReport.docx"
    "Data\Sample1.csv"
    "Slides.pptx"

XML 태그 내에서 이름을 인코딩하는 string형 배열로부터 고객 이름을 추출합니다.

str = ["<CustomerName>Elizabeth Day</CustomerName>";
       "<CustomerName>George Adams</CustomerName>";
       "<CustomerName>Sarah Young</CustomerName>"]
str = 3x1 string
    "<CustomerName>Elizabeth Day</CustomerName>"
    "<CustomerName>George Adams</CustomerName>"
    "<CustomerName>Sarah Young</CustomerName>"

names = extractBetween(str,"<CustomerName>","</CustomerName>")
names = 3x1 string
    "Elizabeth Day"
    "George Adams"
    "Sarah Young"

참고 항목

| | | | | | | | | | | | |

관련 항목