다음: 수치 자료를 문자로 바꾸기, 상위 문서: 문자열 만들기 [차례][찾아보기]
가장 자연스러운 방법으로, 행렬 표기(문자열, 문자배열를 참고)를 이용하여 문자열을 합칠 수 있습니다. 예시입니다.
fullname = [fname ".txt"]; email = ["<" user "@" domain ">"];
각 예시에서 최종 결과가 어떠할지 쉽게 알 수 있습니다. 이 방법은 또한 매우 효율적입니다. 행렬 합치기를 사용하면, 해석기가 함수 호출과 관련 함수의 입력 확인 부하 처리 없이 즉시 문자열을 붙입니다.
그럼에도 특정 상황에서 유용하게 사용할만한, 문자열 객체를 합치는 char, strvcat,
strcat, cstrcat라는 여러 함수가 존재합니다. 마지막으로 범용 합체 함수도 있습니다.
cat,
horzcat,
vertcat를 참고하십시오.
cstrcat을 제외한 모든 문자열 합체 함수는 아래처럼 숫자 입력을 개별 원소(또는 다중 바이트 문자)에
대응하는 UTF-8 문자 자료로 변환합니다.char ([98, 97, 110, 97, 110, 97]) ⇒ banana
지역 문자 집합과 UTF-8간 변환에 대해서는 unicode2native와 native2unicode를 참고하십시오.
char과 strvcat은 가로로 합치고, strcat과
cstrcat은 세로로 합칩니다. 예시입니다.
char ("an apple", "two pears")
⇒ an apple
two pears
strcat ("oc", "tave", " is", " good", " for you")
⇒ octave is good for you
char는 빈 문자열이 입력된 곳에 빈 줄을 생성하여 출력합니다. 반대로, strvcat는
빈 문자열을 무시합니다.
char ("orange", "green", "", "red")
⇒ orange
green
red
strvcat ("orange", "green", "", "red")
⇒ orange
green
red
cstrcat을 제외한 모든 문자열 합체 함수는 낱칸 배열 자료(낱칸
배열 참고)도 처리합니다. char과 strvcat은 낱칸 배열을 문자 배열로
변환하고, strcat은 낱칸 배열의 낱칸을 합칩니다.
char ({"red", "green", "", "blue"})
⇒ red
green
blue
strcat ({"abc"; "ghi"}, {"def"; "jkl"})
⇒
{
[1,1] = abcdef
[2,1] = ghijkl
}
strcat은 매개변수(낱칸 배열 제외)에서 꼬리 공백을 제거하고, cstrcat은
공백 문자를 건들지 않고 그대로 둡니다. 예시에서 보듯, 두 방법 모두 쓸모가 있습니다.
strcat (["dir1";"directory2"], ["/";"/"], ["file1";"file2"])
⇒ dir1/file1
directory2/file2
cstrcat (["thirteen apples"; "a banana"], [" 5$";" 1$"])
⇒ thirteen apples 5$
a banana 1$
위 cstrcat 예시의 공백이 문자열 배열 내 문자열 내부 표현에 기인함을 유의하십시오.(문자
배열을 참고)
수치·문자·낱칸 배열 한 개 이상으로 문자열 배열을 만듭니다.
매개변수를 세로로 합칩니다. 문자열 배열의 각 행 길이를 같게 만들 필요가 있으면, 반환 값에 공백 문자를 넣어 길이를 맞춥니다. 빈 문자열을 입력해도 무시되지 않고 출력에 포함됩니다.
숫자를 입력하면 각 원소는 대응하는 아스키 문자로 변환합니다. 입력 값이 미국정보교환표준부호 범위(0-255)를 벗어나면 범위 오류가 납니다.
낱칸 배열을 입력하면 각 원소를 분리하여 합칩니다. char으로 변환한 낱칸 배열은 대부분 cellstr으로
되돌릴 수 있습니다. 예시입니다.
char ([97, 98, 99], "", {"98", "99", 100}, "str1", ["ha", "lf"])
⇒ ["abc "
" "
"98 "
"99 "
"d "
"str1"
"half"]
수치·문자·낱칸 배열 한 개 이상으로 문자열 배열을 만듭니다.
매개변수를 세로로 합칩니다. 문자열 배열의 각 행 길이를 같게 만들 필요가 있으면, 반환 값에 공백 문자를 넣어 길이를 맞춥니다.
char와 다르게 빈 행을 삭제하여 출력에 포함하지 않습니다.
숫자를 입력하면 각 원소는 대응하는 아스키 문자로 변환합니다. 입력 값이 아스키 범위(0-255)를 벗어나면 범위 오류가 납니다.
낱칸 배열을 입력하면 각 원소를 분리하여 합칩니다. char으로 변환한 낱칸 배열은 대부분 cellstr으로
되돌릴 수 있습니다. 예시입니다.
strvcat ([97, 98, 99], "", {"98", "99", 100}, "str1", ["ha", "lf"])
⇒ ["abc "
"98 "
"99 "
"d "
"str1"
"half"]
매개변수 전체를 가로로 합쳐 문자열로 반환합니다.
매개변가 낱칸 배열이면, strcat은 개별 낱칸을 합쳐 반환합니다. 숫자를 입력하면, 각 원소가 대응하는 아스키
문자로 변환됩니다. 모든 문자열 입력 내 꼬리 공백은 합체 전에 제거됩니다. 낱칸 문자열은 공백 자르기가 불가능함을
유의하십시오.
예시:
strcat ("|", " leading space is preserved", "|")
⇒ | leading space is preserved|
strcat ("|", "trailing space is eliminated ", "|")
⇒ |trailing space is eliminated|
strcat ("homogeneous space |", " ", "| is also eliminated")
⇒ homogeneous space || is also eliminated
s = [ "ab"; "cde" ];
strcat (s, s, s)
⇒
"ababab "
"cdecdecde"
s = { "ab"; "cd " };
strcat (s, s, s)
⇒
{
[1,1] = ababab
[2,1] = cd cd cd
}
매개변수 전체를 꼬리 공백을 보존한 채 수평으로 합쳐 문자열로 반환합니다.
예시:
cstrcat ("ab ", "cd")
⇒ "ab cd"
s = [ "ab"; "cde" ];
cstrcat (s, s, s)
⇒ "ab ab ab "
"cdecdecde"
다음: 수치 자료를 문자로 바꾸기, 상위 문서: 문자열 만들기 [차례][찾아보기]