Main Content

빈 문자열과 누락값이 있는지 테스트하기

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의 시작과 끝에 있는 빈 문자열과 각 문자 쌍 사이에 있는 빈 문자열을 셉니다. 따라서 strN개 문자가 있으면 빈 문자열 개수는 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 함수를 사용하십시오. == 연산자를 사용하지 마십시오.

참고 항목

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

관련 항목