split

구분 기호에서 문자열 분할

설명

예제

newStr = split(str)은 공백 문자에서 str을 나누고 그 결과를 출력 배열 newStr로 반환합니다. 입력 인수 str은 string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 중 하나일 수 있습니다. str이 string형 배열이면 newStr도 string형 배열입니다. 그렇지 않으면, newStr은 문자형 벡터로 구성된 셀형 배열입니다. newStrstr에서 공백 문자를 제외합니다.

str이 string형 배열 또는 문자형 벡터로 구성된 셀형 배열이고 요소가 여러 개인 경우 각 요소는 동일한 개수의 부분문자열로 나눌 수 있어야 합니다.

  • str은 string형 스칼라이거나 문자형 벡터인 경우, newStrNx1 string형 배열이거나 문자형 벡터로 구성된 셀형 배열입니다. 여기서 N은 부분문자열 개수입니다.

  • strMx1 string형 배열이거나 셀형 배열인 경우 newStrMxN 배열입니다.

  • str1xM string형 배열이거나 셀형 배열인 경우 newStr1xMxN 배열입니다.

모든 크기의 string형 배열 또는 셀형 배열에 대해, splitN개 부분문자열을 1 크기의 첫 번째 후행 차원을 따라서 배치합니다.

str의 모두 요소에 대해 부분문자열 개수가 같지 않은 경우, for 루프에서 split을 호출하여 한 번에 하나씩 str의 요소를 분할합니다.

예제

newStr = split(str,delimiter)delimiter에서 지정한 구분 기호에서 str의 각 요소를 분할합니다. 출력값 newStr은 구분 기호를 포함하지 않습니다.

예제

newStr = split(str,delimiter,dim)str의 각 요소를 dim에서 지정한 차원을 따르는 벡터로 분할합니다.

예제

[newStr,matches] = split(___)은 구분 기호가 나오는 경우를 전부 포함하는 배열, matches를 추가로 반환합니다. 구분 기호가 나오는 곳에서는 split 함수가 str을 분할합니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수에 사용할 수 있습니다.

예제

모두 축소

공백 문자에서 string형 배열의 이름을 분할합니다. 그런 다음 성이 이름 앞에 오도록 문자열 순서를 변경하고 결합합니다.

이름을 포함하는 3x1 string형 배열을 만듭니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

names = ["Mary Butler";
         "Santiago Marquez";
         "Diana Lee"]
names = 3x1 string array
    "Mary Butler"
    "Santiago Marquez"
    "Diana Lee"

공백에서 names를 분할하여, 3x2 string형 배열로 만듭니다.

names = split(names)
names = 3x2 string array
    "Mary"        "Butler" 
    "Santiago"    "Marquez"
    "Diana"       "Lee"    

성이 첫 번째 열에 오도록 names의 열을 전환합니다. 각각의 성 뒤에 쉼표를 추가합니다.

names = [names(:,2) names(:,1)];
names(:,1) = names(:,1) + ','
names = 3x2 string array
    "Butler,"     "Mary"    
    "Marquez,"    "Santiago"
    "Lee,"        "Diana"   

성과 이름을 결합합니다. join 함수는 결합되는 문자열 사이에 공백 문자를 표시합니다. 결합 후 names는 3x1 string형 배열이 됩니다.

names = join(names)
names = 3x1 string array
    "Butler, Mary"
    "Marquez, Santiago"
    "Lee, Diana"

폴더의 경로를 포함하는 문자열을 만듭니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

myPath = "/Users/jdoe/My Documents/Examples"
myPath = 
"/Users/jdoe/My Documents/Examples"

/ 문자에서 경로를 분할합니다. splitmyFolders를 5x1 string형 배열로 반환합니다. myPath/ 문자로 시작하므로 첫 번째 string형은 ""입니다.

myFolders = split(myPath,"/")
myFolders = 5x1 string array
    ""
    "Users"
    "jdoe"
    "My Documents"
    "Examples"

myFolders\를 구분 기호로 사용하여 새 경로에 결합합니다. C:을 경로의 시작으로 추가합니다.

myNewPath = join(myFolders,"\");
myNewPath = 'C:' + myNewPath
myNewPath = 
"C:\Users\jdoe\My Documents\Examples"

문자열을 생성합니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

str = "A horse! A horse! My kingdom for a horse!"
str = 
"A horse! A horse! My kingdom for a horse!"

느낌표와 공백 문자에서 str을 분할합니다. newStr은 10x1 문자열 배열입니다. str에서 마지막 문자는 구분 기호이므로, 마지막 string형은 빈 문자열 ""입니다.

newStr = split(str,[" ","!"])
newStr = 12x1 string array
    "A"
    "horse"
    ""
    "A"
    "horse"
    ""
    "My"
    "kingdom"
    "for"
    "a"
    "horse"
    ""

각 요소에 환자에 대한 데이터가 쉼표로 구분되어 포함되는 string형 배열을 만듭니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

patients = ["LastName,Age,Gender,Height,Weight";
            "Adams,47,F,64,123";
            "Jones,,,68,175";
            "King,,M,66,180";
            "Smith,38,F,63,118"]
patients = 5x1 string array
    "LastName,Age,Gender,Height,Weight"
    "Adams,47,F,64,123"
    "Jones,,,68,175"
    "King,,M,66,180"
    "Smith,38,F,63,118"

string형 배열을 분할합니다. 두 쉼표 사이에 아무것도 없는 쉼표 쌍은 누락된 데이터를 나타냅니다. split이 반복된 구분 기호에서 분할하는 경우, 빈 문자열을 출력 배열의 대응하는 요소로 반환합니다.

patients = split(patients,",")
patients = 5x5 string array
    "LastName"    "Age"    "Gender"    "Height"    "Weight"
    "Adams"       "47"     "F"         "64"        "123"   
    "Jones"       ""       ""          "68"        "175"   
    "King"        ""       "M"         "66"        "180"   
    "Smith"       "38"     "F"         "63"        "118"   

이름을 포함하는 3x1 string형 배열을 만듭니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

names = ["Mary Butler";
         "Santiago Marquez";
         "Diana Lee"]
names = 3x1 string array
    "Mary Butler"
    "Santiago Marquez"
    "Diana Lee"

공백 문자에서 배열을 분할합니다. 기본적으로, split은 크기 1의 첫 번째 후행 차원을 따라서 출력 부분문자열을 배치합니다. names는 3x1 string형 배열이므로, splitsplitNames의 두 번째 차원 즉, 열을 따라서 부분문자열을 배치합니다.

splitNames = split(names)
splitNames = 3x2 string array
    "Mary"        "Butler" 
    "Santiago"    "Marquez"
    "Diana"       "Lee"    

행 또는 첫 번째 차원을 따라서 부분문자열을 배치하려면 구분 문자를 지정한 후 차원을 지정하십시오. splitNames는 이제 2x3 string형 배열로, 이름이 첫 번째 행에 있고 성이 두 번째 행에 있습니다.

splitNames = split(names," ",1)
splitNames = 2x3 string array
    "Mary"      "Santiago"    "Diana"
    "Butler"    "Marquez"     "Lee"  

문자열을 생성합니다. R2017a부터는 큰따옴표를 사용하여 string형을 생성할 수 있습니다.

str = "bacon, lettuce, and tomato"
str = 
"bacon, lettuce, and tomato"

구분 기호에서 str을 분할합니다. 분할 결과를 string형 배열에 반환하고 구분 기호를 두 번째 string형 배열에 반환합니다. 연속 구분 기호 사이에 텍스트가 없는 경우, split은 빈 문자열을 반환합니다.

[newStr,matches] = split(str,["and",","," "])
newStr = 7x1 string array
    "bacon"
    ""
    "lettuce"
    ""
    ""
    ""
    "tomato"

matches = 6x1 string array
    ","
    " "
    ","
    " "
    "and"
    " "

join 함수를 사용하여 다시 newStrmatches를 함께 결합합니다.

originalStr = join(newStr,matches)
originalStr = 
"bacon, lettuce, and tomato"

입력 인수

모두 축소

입력 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: string | char | cell

구분 부분문자열로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. delimiter에서 지정한 부분문자열은 출력값 newStr에 나타나지 않습니다.

여러 개의 구분 기호는 string형 배열이나 문자형 벡터로 구성된 셀형 배열에 지정하십시오. split 함수는 strdelimiter의 요소에서 분할합니다. 여러 개의 구분 기호가 str의 동일한 문자에서 일치를 시작하지 않는다면, delimiter에 나타나는 구분 기호의 순서는 중요하지 않습니다. 그런 경우, split 함수는 delimiter의 첫 번째 일치하는 구분 기호에서 분할합니다.

예: split(str,{' ',',','--'})은 공백, 쉼표, 2개 연속 대시가 나타나는 곳에서 str을 분할합니다.

데이터형: string | char | cell

문자열을 분할하는 차원으로, 양의 정수로 지정됩니다. dim이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 마지막 배열 차원입니다.

출력 인수

모두 축소

원래 배열에서 분할된 부분문자열로, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다. 입력 배열 str이 string형 배열인 경우, newStr도 string형 배열입니다. 그렇지 않으면, newStr은 문자형 벡터로 구성된 셀형 배열입니다.

데이터형: string

식별된 구분 기호로, string형 배열이나 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 입력 배열 str이 string형 배열인 경우, matches도 string형 배열입니다. 그렇지 않으면, matches는 문자형 벡터로 구성된 셀형 배열입니다.

matches에 포함되는 요소는 출력값 newStr에 포함되는 요소보다 하나 적습니다.

데이터형: string

확장 기능

R2016b에 개발됨