다음: 수치 자료를 문자로 바꾸기, 상위 문서: 문자열 만들기 [차례][찾아보기]
가장 자연스러운 방법으로, 행렬 표기(문자열, 문자배열를 참고)를 이용하여 문자열을 합칠 수 있습니다. 예시입니다.
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"
다음: 수치 자료를 문자로 바꾸기, 상위 문서: 문자열 만들기 [차례][찾아보기]