텍스트를 검색하고 바꾸기
텍스트 데이터 처리 시 부분문자열 검색 및 바꾸기가 포함된 경우가 많습니다. 텍스트를 찾고 서로 다른 정보를 반환하는 몇 가지 함수가 있습니다. 일부 함수는 텍스트가 존재하는지 확인하고, 다른 함수는 텍스트가 나타나는 횟수를 세거나 시작 인덱스를 찾거나 부분문자열을 추출합니다. 이러한 함수는 문자형 벡터 및 string형 스칼라(예: "yes"
)뿐만 아니라 문자형 배열 및 string형 배열(예: ["yes"
,"no";"abc"
,"xyz"
])에서도 작동합니다. 또한 패턴을 사용하여 검색 규칙을 정의할 수도 있습니다(예: 하나 이상의 영문자 또는 숫자).
텍스트 검색하기
텍스트가 존재하는지 확인하려면 contains
, startsWith
, endsWith
등의 논리값을 반환하는 함수를 사용하십시오. 논리값 1
은 true에 해당하고 0
은 false에 해당합니다.
txt = "she sells seashells by the seashore"; TF = contains(txt,"sea")
TF = logical
1
count
함수를 사용하여 텍스트가 나타나는 횟수를 계산합니다.
n = count(txt,"sea")
n = 2
텍스트가 나타나는 위치를 찾으려면 시작 인덱스를 반환하는 strfind
함수를 사용하십시오.
idx = strfind(txt,"sea")
idx = 1×2
11 28
extract
, extractBetween
, extractBefore
, extractAfter
등의 추출 함수를 사용하여 텍스트를 찾아 추출합니다.
mid = extractBetween(txt,"sea","shore")
mid = "shells by the sea"
선택적으로, 경계 텍스트를 포함시킵니다.
mid = extractBetween(txt,"sea","shore","Boundaries","inclusive")
mid = "seashells by the seashore"
배열에서 텍스트 찾기
검색 및 바꾸기 함수는 요소를 여러 개 가진 배열에서도 텍스트를 찾을 수 있습니다. 예를 들어, 여러 노래 제목에서 색 이름을 찾아 보겠습니다.
songs = ["Yellow Submarine"; "Penny Lane"; "Blackbird"]; colors =["Red","Yellow","Blue","Black","White"]; TF = contains(songs,colors)
TF = 3x1 logical array
1
0
1
색 이름이 들어간 노래를 나열하려면 논리형 TF
배열을 원래 songs
배열에 대한 인덱스로 사용하십시오. 이 기법을 논리형 인덱싱이라고 합니다.
colorful = songs(TF)
colorful = 2x1 string
"Yellow Submarine"
"Blackbird"
함수 replace
를 사용하여 songs
에서 colors
의 요소와 일치하는 텍스트를 문자열 "Orange"
로 바꿉니다.
replace(songs,colors,"Orange")
ans = 3x1 string
"Orange Submarine"
"Penny Lane"
"Orangebird"
패턴 일치시키기
R2020b 이상
“sea” 또는 “yellow”와 같은 리터럴 텍스트를 검색하는 것 외에, 패턴이 일치하는 텍스트도 검색할 수 있습니다. 미리 정의된 패턴이 많이 있습니다(예: 숫자를 찾을 수 있는 digitsPattern
).
address = "123a Sesame Street, New York, NY 10128";
nums = extract(address,digitsPattern)
nums = 2x1 string
"123"
"10128"
더 정밀한 검색을 위해 패턴을 조합할 수 있습니다. 예를 들어, 문자 “S”로 시작하는 단어를 찾아 보겠습니다. “S” 문자를 지정하기 위한 문자열과 해당 문자 뒤의 추가 문자를 찾기 위한 lettersPattern
을 사용합니다.
pat = "S" + lettersPattern;
StartWithS = extract(address,pat)
StartWithS = 2x1 string
"Sesame"
"Street"
자세한 내용은 패턴 표현식 작성하기 항목을 참조하십시오.
참고 항목
contains
| extract
| count
| pattern
| replace
| strfind