빈 문자열과 누락값이 있는지 테스트하기
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 = 0x0 empty char array
strings
함수를 사용하여 빈 문자열로 구성된 배열을 만듭니다. 배열의 각 요소는 문자가 없는 string형입니다.
str2 = strings(1,3)
str2 = 1x3 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 = 0x3 empty string array
isempty
함수를 사용하여 str
을 테스트합니다.
isempty(str)
ans = logical
1
string형 배열에 빈 문자열이 있는지 테스트합니다. ==
연산자는 string형 배열과 동일한 크기의 논리형 배열을 반환합니다.
str = ["Mercury","","Apollo"]
str = 1x3 string
"Mercury" "" "Apollo"
str == ''
ans = 1x3 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 = 1x3 string
"" "Gemini" <missing>
ismissing(str)
ans = 1x3 logical array
0 0 1
str
과 누락값인 string형을 비교합니다. 누락값인 string형을 누락값인 string형과 비교하는 경우에도 비교 결과는 항상 0
(false
)입니다.
str == string(missing)
ans = 1x3 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