strsplit
지정된 구분 기호에서 string형 또는 문자형 벡터 분할
구문
설명
는 하나 이상의 이름-값 쌍의 인수를 사용하여 구분 기호 옵션을 추가로 지정합니다. 예를 들어, 연속된 구분 기호를 개별 구분 기호로 처리하려면 C
= strsplit(str
,delimiter
,Name,Value
)'CollapseDelimiters',false
를 지정하면 됩니다.
예제
str = 'The rain in Spain.';
C = strsplit(str)
C = 1×4 cell
{'The'} {'rain'} {'in'} {'Spain.'}
C
는 4개의 문자형 벡터가 들어 있는 셀형 배열입니다.
쉼표로 구분된 값이 포함된 문자형 벡터를 분할합니다.
data = '1.21, 1.985, 1.955, 2.015, 1.885'; C = strsplit(data,', ')
C = 1×5 cell
{'1.21'} {'1.985'} {'1.955'} {'2.015'} {'1.885'}
텍스트의 양쪽에 임의 개수의 공백이 있는 단위 m/s
를 포함하는 문자형 벡터 data
를 분할합니다. 정규 표현식 \s*
는 0개 이상의 공백 문자와 일치합니다.
data = '1.21m/s1.985m/s 1.955 m/s2.015 m/s 1.885m/s'; [C,matches] = strsplit(data,'\s*m/s\s*',... 'DelimiterType','RegularExpression')
C = 1×6 cell
{'1.21'} {'1.985'} {'1.955'} {'2.015'} {'1.885'} {0×0 char}
matches = 1×5 cell
{'m/s'} {'m/s '} {' m/s'} {' m/s '} {'m/s'}
이 경우, C
의 마지막 문자형 벡터는 비어 있습니다. 이 빈 문자형 벡터는 마지막 일치 구분 기호 뒤에 나옵니다.
myPath = 'C:\work\matlab'; C = strsplit(myPath,'\')
C = 1×3 cell
{'C:'} {'work'} {'matlab'}
문자형 벡터를 ' '
과 'ain'
에서 분할하고, 여러 구분 기호를 하나로 취급합니다. 여러 구분 기호는 문자형 벡터로 구성된 셀형 배열로 지정합니다.
str = 'The rain in Spain stays mainly in the plain.'; [C,matches] = strsplit(str,{' ','ain'},'CollapseDelimiters',true)
C = 1×11 cell
{'The'} {'r'} {'in'} {'Sp'} {'stays'} {'m'} {'ly'} {'in'} {'the'} {'pl'} {'.'}
matches = 1×10 cell
{' '} {'ain '} {' '} {'ain '} {' '} {'ain'} {' '} {' '} {' '} {'ain'}
정규 표현식을 사용하고 여러 구분 기호를 별도로 취급하여, 문자형 벡터를 공백과 'ain'
에서 분할합니다.
[C,matches] = strsplit(str,{'\s','ain'},'CollapseDelimiters',... false, 'DelimiterType','RegularExpression')
C = 1×13 cell
{'The'} {'r'} {0×0 char} {'in'} {'Sp'} {0×0 char} {'stays'} {'m'} {'ly'} {'in'} {'the'} {'pl'} {'.'}
matches = 1×12 cell
{' '} {'ain'} {' '} {' '} {'ain'} {' '} {' '} {'ain'} {' '} {' '} {' '} {'ain'}
이 경우 strsplit
은 두 개의 구분 기호를 별도로 취급하므로, 일치하는 구분 기호가 연이어 있는 경우 출력 인수 C
에서 그 사이에 빈 문자형 벡터가 나옵니다.
텍스트를 문자형 벡터 ', '
와 ', and '
에서 분할합니다.
str = 'bacon, lettuce, and tomato'; [C,matches] = strsplit(str,{', ',', and '})
C = 1×3 cell
{'bacon'} {'lettuce'} {'and tomato'}
matches = 1×2 cell
{', '} {', '}
명령에서 ', '
가 먼저 나오고 ', and '
에 ', '
가 포함되어 있으므로, strsplit
함수는 str
을 첫 번째 구분 기호에서 분할한 후 두 번째 구분 기호까지 진행하지 않습니다.
두 구분 기호의 순서를 바꾸면 ', and '
가 우선 순위를 갖습니다.
str = 'bacon, lettuce, and tomato'; [C,matches] = strsplit(str,{', and ',', '})
C = 1×3 cell
{'bacon'} {'lettuce'} {'tomato'}
matches = 1×2 cell
{', '} {', and '}
입력 인수
입력 텍스트로, 문자형 벡터나 string형 스칼라로 지정됩니다.
데이터형: char
| string
구분 문자로, 문자형 벡터, 문자형 벡터로 구성된 1
×n
셀형 배열 또는 1
×n
string형 배열로 지정됩니다. delimiter
에 지정된 텍스트는 출력값 C
에 나타나지 않습니다.
여러 개의 구분 기호는 셀형 배열이나 string형 배열에 지정하십시오. strsplit
함수는 str
을 delimiter
의 요소에서 분할합니다. 여러 개의 구분 기호가 str
의 동일한 문자에서 일치를 시작하지 않는다면, delimiter
에 나타나는 구분 기호의 순서는 중요하지 않습니다. 그런 경우, strsplit
은 delimiter
의 첫 번째 일치하는 구분 기호에서 분할합니다.
delimiter
는 다음과 같은 이스케이프 시퀀스를 포함할 수 있습니다.
| 백슬래시 |
| Null |
| 경보 |
| 백스페이스 |
| 폼 피드(FF) |
| 새 줄(Newline) |
| 캐리지 리턴 |
| 가로 탭 |
| 세로 탭 |
예: ','
예: {'-',','}
데이터형: char
| cell
| string
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: 'DelimiterType','RegularExpression'
은 strsplit
이 delimiter
를 정규 표현식으로 처리하도록 지시합니다.
여러 구분 기호 처리 방식으로, 'CollapseDelimiters'
와 함께 true
또는 false
가 쉼표로 구분되어 지정됩니다. true
이면 str
의 연속된 구분 기호가 하나로 취급됩니다. false
이면 연속된 구분 기호가 별도의 구분 기호로 취급되어, 일치하는 구분 기호 사이에 빈 문자형 벡터 ''
요소가 표시됩니다.
예: 'CollapseDelimiters',true
구분 기호 유형으로, 'DelimiterType'
과 함께 다음 문자형 벡터 중 하나가 쉼표로 구분되어 지정됩니다.
'Simple' | 이스케이프 시퀀스를 제외하고, strsplit 은 delimiter 를 리터럴 텍스트로 처리합니다. |
'RegularExpression' | strsplit 은 delimiter 를 정규 표현식으로 처리합니다. |
두 경우 모두, delimiter
는 이스케이프 시퀀스를 포함할 수 있습니다.
출력 인수
원래 문자형 벡터의 일부로, 문자형 벡터로 구성된 셀형 배열이나 string형 배열로 반환됩니다. C
의 요소 개수는 matches
에 포함된 요소 개수보다 항상 하나 더 많습니다. 따라서 str
이 구분 기호로 시작될 경우, C
의 첫 번째 요소에는 문자가 포함되지 않습니다. str
이 구분 기호로 끝나는 경우에도 C
의 마지막 셀에는 문자가 포함되지 않습니다.
식별된 구분 기호로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 반환됩니다. matches
의 요소 개수는 출력 인수 C
에 포함된 요소 개수보다 항상 하나 더 적습니다. str
이 문자형 벡터이거나 문자형 벡터로 구성된 셀형 배열이면 matches
는 셀형 배열입니다. str
이 string형 배열이면 matches
는 string형 배열입니다.
대체 기능
strsplit
을 사용하는 코드를 업데이트하여 대신 split
을 사용하도록 합니다. split
의 디폴트 방향은 열 기준입니다. 예를 들면 다음과 같습니다.
권장되지 않음 | 권장됨 |
---|---|
str = strsplit("1 2 3") str = 1×3 string array "1" "2" "3" | str = split("1 2 3") str = 3×1 string array "1" "2" "3" |
확장 기능
사용법 관련 참고 및 제한 사항:
strsplit
에 대한 첫 번째 입력 인수는 문자형 벡터여야 합니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2013a에 개발됨strsplit
함수에 대한 C/C++ 코드를 생성합니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)