빈 문자열과 누락값이 있는지 테스트하기
string형 배열에는 빈 문자열과 누락값이 모두 포함될 수 있습니다. 빈 문자열은 0개 문자를 포함하며 큰따옴표가 중간에 아무것도 없이 표시됩니다(""). == 연산자를 사용하여 문자열이 빈 문자열인지 확인할 수 있습니다. 빈 문자열은 다른 모든 문자열의 부분문자열입니다. 따라서 contains와 같은 함수는 항상 다른 문자열 내에서 빈 문자열을 찾습니다. string형 배열에는 누락값도 포함될 수 있습니다. string형 배열에서 누락값은 <missing>으로 표시됩니다. string형 배열에서 누락값을 찾으려면 == 연산자 대신 ismissing 함수를 사용하십시오.
빈 문자열이 있는지 테스트하기
== 연산자를 사용하여 string형 배열에 빈 문자열이 있는지 테스트할 수 있습니다.
중간에 아무것도 없는 큰따옴표("")를 사용하여 빈 문자열을 만들 수 있습니다. 참고로, str의 크기는 0×0이 아니라 1×1입니다. 그러나 str에는 0개 문자가 있습니다.
str = ""str = ""
작은따옴표를 사용하여 빈 문자형 벡터를 생성합니다. 참고로, chr의 크기는 0×0입니다. 문자형 배열 chr은 단지 0개 문자가 포함된 배열이 아니라 실제로 빈 배열입니다.
chr = ''chr = 0×0 empty char array
strings 함수를 사용하여 빈 문자열로 구성된 배열을 만듭니다. 배열의 각 요소는 문자가 없는 string형입니다.
str2 = strings(1,3)
str2 = 1×3 string
"" "" ""
빈 문자열과 비교하여 str이 빈 문자열인지 여부를 테스트합니다.
if (str == "") disp 'str has zero characters' end
str has zero characters
빈 문자열이 있는지 테스트하는 데 isempty 함수를 사용하지 마십시오. 0개 문자가 포함된 string형의 크기는 여전히 1×1입니다. 그러나 isempty 함수를 사용하여 string형 배열에 크기가 0인 차원이 하나 이상 있는지 테스트할 수 있습니다.
strings 함수를 사용하여 빈 string형 배열을 생성합니다. 빈 배열이 되려면 적어도 하나의 차원은 크기가 0이어야 합니다.
str = strings(0,3)
str = 0×3 empty string array
isempty 함수를 사용하여 str을 테스트합니다.
isempty(str)
ans = logical
1
string형 배열에 빈 문자열이 있는지 테스트합니다. == 연산자는 string형 배열과 동일한 크기의 논리형 배열을 반환합니다.
str = ["Mercury","","Apollo"]
str = 1×3 string
"Mercury" "" "Apollo"
str == ''ans = 1×3 logical array
0 1 0
다른 문자열 내에서 빈 문자열 찾기
문자열은 항상 빈 문자열을 부분문자열로 포함합니다. 실제로, 빈 문자열은 모든 문자열의 시작과 끝 모두에 항상 있습니다. 또한 한 문자열 내의 연속된 두 개 문자 사이에도 항상 빈 문자열이 있습니다.
문자열을 생성합니다. 그런 다음 이 문자열에 빈 문자열이 있는지 여부를 테스트합니다.
str = "Hello, world"; TF = contains(str,"")
TF = logical
1
str이 빈 문자열로 시작하는지 여부를 테스트합니다.
TF = startsWith(str,"")TF = logical
1
str에 포함된 문자 수를 셉니다. 그런 다음 str에 포함된 빈 문자열 개수를 셉니다. count 함수는 str의 시작과 끝에 있는 빈 문자열과 각 문자 쌍 사이에 있는 빈 문자열을 셉니다. 따라서 str에 N개 문자가 있으면 빈 문자열 개수는 N+1입니다.
str
str = "Hello, world"
strlength(str)
ans = 12
count(str,"")ans = 13
부분문자열을 빈 문자열로 바꿉니다. 빈 문자열을 대상으로 replace를 호출하면 부분문자열이 제거되고 0개 문자가 포함된 문자열로 바뀝니다.
replace(str,"world","")
ans = "Hello, "
insertAfter 함수를 사용하여 빈 문자열 다음에 부분문자열을 삽입합니다. 각 문자 쌍 사이에 빈 문자열이 있으므로 insertAfter는 각 쌍 사이에 부분문자열을 삽입합니다.
insertAfter(str,"","-")
ans = "-H-e-l-l-o-,- -w-o-r-l-d-"
일반적으로 부분문자열을 바꾸거나, 지우거나, 추출하거나, 삽입하는 문자열 함수를 사용하여 빈 문자열을 수정할 부분문자열의 시작과 끝으로 지정할 수 있습니다. 그럴 경우, 이러한 함수는 문자열의 시작과 끝, 각 문자 쌍 사이에서 동작을 수행합니다.
누락값이 있는지 테스트하기
ismissing 함수를 사용하여 string형 배열에 누락값이 있는지 테스트할 수 있습니다. 누락값인 string형은 숫자형 배열에서의 NaN과 같습니다. 이는 문자열은 string형 배열에 누락값이 있음을 나타냅니다. 누락값인 string형이 <missing>으로 표시됩니다.
누락값인 string형을 생성하려면 string 함수를 사용하여 누락값을 변환하십시오.
str = string(missing)
str = <missing>
빈 string형과 누락값인 string형이 모두 있는 string형 배열을 생성할 수 있습니다. ismissing 함수를 사용하여 누락값이 있는 문자열에 해당하는 요소를 확인합니다. 참고로, 빈 string형은 누락값인 string형이 아닙니다.
str(1) = ""; str(2) = "Gemini"; str(3) = string(missing)
str = 1×3 string
"" "Gemini" <missing>
ismissing(str)
ans = 1×3 logical array
0 0 1
str과 누락값인 string형을 비교합니다. 누락값인 string형을 누락값인 string형과 비교하는 경우에도 비교 결과는 항상 0(false)입니다.
str == string(missing)
ans = 1×3 logical array
0 0 0
누락값인 string형을 찾으려면 ismissing 함수를 사용하십시오. == 연산자를 사용하지 마십시오.
참고 항목
string | strings | strlength | ismissing | contains | startsWith | endsWith | erase | extractBetween | extractBefore | extractAfter | insertAfter | insertBefore | replace | replaceBetween | eraseBetween | eq | all | any