함수 part() 는 문자열의 일부분을 추출하는 기능을 수행한다.
❶ part(str, n) // 문자열 str의 n번째 문자 추출
❷ part(str, n1:n2) // 문자열 str의 n1번째 부터 n2번째 까지 추출
➌ part(str,[n1, n2, n3…]) // 문자열 str의 n1, n2, n3… 번째 문자들을 추출하여 단일 문자열로 반환
예를 들면 다음과 같다.
>> str = "This is a sample string."str =This is a sample string.>> strp1 = part(str, 4)strp1 =s>> strp1 = part(str, 6:9)strp1 =is a>> strp1 = part(str, [11 13 15 19])strp1 =smlt |
만약 입력문자의 크기가 넘어가는 문자열의 범위를 지정하면 공백 문자로 채워진다. 이 예제에서 str의 길이는 24이다. 다음 예는 24를 넘어가는 인덱스에 대해서는 공백문자로 채워짐을 보이고 있다.
>> '|'+part(str,20:30)+'|'ans =|ring. | |
함수 grep(vstr1, str2)은 문자열 벡터 vstr1 의 요소(문자열) 중에서 str2가 포함된 것의 인덱스를 반환한다. 예를 들어서 다음과 같이 문자열 벡터가 정의되었다고 하자.
>> str1 = ['abcdefghijk', 'xyz', 'jklm'] |
이후에 grep()함수를 사용했을 때의 결과는 다음과 같다.
>> grep(str1, 'jk')ans =1. 3. |
즉, str1의 첫 번째와 세 번째 요소(문자열)에 ‘jk’라는 문자열이 포함되었다는 것이다. 검색할 문자열이 두 개 이상이라면 이것들을 요소로 하는 문자열 벡터를 두 번째 인수로 넣어주면 된다.
>> grep(str1, ['jk','y'])ans =1. 2. 3. |
이 예에서는 str1 문자열 벡터의 요소 중에서 ‘jk’ 나 ‘y’ 를 포함하는 것의 인덱스를 구한다.
함수 strindex(str1, vstr2)는 문자열 str1에서 vstr2 가 시작되는 지점의 인덱스를 구해준다.
>> str1 = '[12.34;56.789;10.123]'str1 =[12.34;56.789;10.123]>> strindex(str1, ';')ans =7. 14.>> strindex(str1, [';', '.', ']'])ans =4. 7. 10. 14. 17. 21. |
이 함수 strindex()의 첫 번째는 반드시 단일 문자열이어야 하며 결과 값은 이 문자열의 첫 문자를 1로 보았을 때의 인덱스 값이다. 위의 예들 중 마지막 예에서는 str1 문자열에서 앞에서부터 ‘;’ 또는 ‘.’ 또는 ‘]’ 인 것의 인덱스를 차례로 찾아서 반환해 준다.
함수 sci2exp()는 입력을 Scilab 명령의 문자열로 변환시켜 준다.
>> A=[1 2;%i, %pi]A =1. 2.i 3.1415927>> str3 = sci2exp(A)str3 =[ 1, 2;%i, 3.1415927]>> typeof(str3)ans =string |
'프로그래밍언어.Lib > Scilab' 카테고리의 다른 글
싸이랩(scialb)의 스크립트 파일(sce 파일) 작성과 실행 (0) | 2015.06.19 |
---|---|
싸이랩(scialb)의 문자열을 실행하는 함수 (0) | 2015.06.17 |
싸이랩(scialb)의 문자열(string)과 관련 함수 (0) | 2015.06.17 |
싸이랩(scialb)의 특수 행렬을 생성하는 함수들 (0) | 2015.06.17 |
싸이랩(scialb)의 행렬 연산 (0) | 2015.06.17 |