문자 클래스 함수

문자 클래스 함수

문자가 알파벳인지, 숫자인지, 공백인지 판별해야 할 때가 있어요. Octave는 표준 C 라이브러리의 함수를 본떠 만든 문자 클래스 검사 함수들을 제공해요. 문자열 배열에 대해 동작하고 0과 1로 이루어진 행렬을 돌려주죠. 특정 문자의 조건이 참이면 해당 요소가 1이 돼요.

출처: Character Class Functions - GNU Octave 공식 문서

본문

Octave는 표준 C 라이브러리의 함수를 본떠 만든 다음 문자 클래스 검사 함수들도 제공해요. 이 함수들은 모두 문자열 배열에 대해 동작하며 0과 1의 행렬을 돌려줘요. 0이 아닌 요소는 문자열 배열에서 해당 문자의 조건이 참이었다는 뜻이에요. 예를 들어:

isalpha ("!Q@WERT^Y&")
     ⇒  [ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0 ]

tf = isalnum (s)

s의 요소가 문자나 숫자이면 true, 아니면 false인 논리 배열을 돌려줘요. 이는 (isalpha (s) | isdigit (s))와 동일해요.

참고: isalpha, isdigit, ispunct, isspace, iscntrl

tf = isalpha (s)

s의 요소가 문자이면 true, 아니면 false인 논리 배열을 돌려줘요. 이는 (islower (s) | isupper (s))와 동일해요.

참고: isdigit, ispunct, isspace, iscntrl, isalnum, islower, isupper

tf = isletter (s)

s의 요소가 문자이면 true, 아니면 false인 논리 배열을 돌려줘요. isalpha 함수의 별칭(alias)이에요.

참고: isalpha, isdigit, ispunct, isspace, iscntrl, isalnum

tf = islower (s)

s의 요소가 소문자이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: isupper, isalpha, isletter, isalnum

tf = isupper (s)

s의 요소가 대문자이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: islower, isalpha, isletter, isalnum

tf = isdigit (s)

s의 요소가 십진 숫자(0-9)이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: isxdigit, isalpha, isletter, ispunct, isspace, iscntrl

tf = isxdigit (s)

s의 요소가 16진수 숫자(0-9와 a-fA-F)이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: isdigit

tf = ispunct (s)

s의 요소가 구두점 문자이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: isalpha, isdigit, isspace, iscntrl

tf = isspace (s)

s의 요소가 공백 문자(space, formfeed, newline, carriage return, tab, vertical tab)이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: iscntrl, ispunct, isalpha, isdigit

tf = iscntrl (s)

s의 요소가 제어 문자이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: ispunct, isspace, isalpha, isdigit

tf = isgraph (s)

s의 요소가 인쇄 가능한 문자(공백 문자는 제외)이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: isprint

tf = isprint (s)

s의 요소가 인쇄 가능한 문자(공백 문자 포함)이면 true, 아니면 false인 논리 배열을 돌려줘요.

참고: isgraph

tf = isascii (s)

s의 요소가 ASCII 문자(10진수 0에서 127 범위)이면 true, 아니면 false인 논리 배열을 돌려줘요.

tf = isstrprop (str, prop)

tf = isstrprop (str, prop, 'ForceCellOutput', flag)

문자 문자열 속성을 검사해요. 예를 들어:

isstrprop ("abc123", "alpha")
⇒  [1, 1, 1, 0, 0, 0]

str이 셀 배열이면 isstrprop이 셀 배열의 각 요소에 재귀적으로 적용돼요. 수치 배열은 문자 문자열로 변환돼요.

두 번째 인자 prop는 다음 중 하나여야 해요:

  • "alpha" — 알파벳(문자)인 문자에 대해 true.
  • "alnum", "alphanum" — 알파벳이거나 숫자인 문자에 대해 true.
  • "lower" — 소문자에 대해 true.
  • "upper" — 대문자에 대해 true.
  • "digit" — 십진 숫자(0-9)에 대해 true.
  • "xdigit" — 16진수 숫자(a-fA-F0-9)에 대해 true.
  • "space", "wspace" — 공백 문자(space, formfeed, newline, carriage return, tab, vertical tab)에 대해 true.
  • "punct" — 구두점 문자(공백·문자·숫자를 제외한 인쇄 문자)에 대해 true.
  • "cntrl" — 제어 문자에 대해 true.
  • "graph", "graphic" — 공백을 제외한 인쇄 문자에 대해 true.
  • "print" — 공백을 포함한 인쇄 문자에 대해 true.
  • "ascii" — ASCII 인코딩 범위 내의 문자에 대해 true.

선택 인자 'ForceCellOutput'이 주어지고 flag가 true면 논리 배열 대신 셀 값을 돌려줘요.

참고: isalpha, isalnum, islower, isupper, isdigit, isxdigit, isspace, ispunct, iscntrl, isgraph, isprint, isascii

더 알아보기