ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자열 처리하여 내 입맛에 맞추기 (feat : 문자열 함수 만들기)
    스마트메이커 2023. 12. 7. 19:26
    반응형

    앱을 개발하는데 문자열 처리는 기본적으로 사용하는 기능입니다. 문자열 처리를 쉽게 처리하기 위해서는 어떻게 해야 쉽게 처리를 할 수 있을까요? 오늘 포스팅은 문자열을 내 입맛에 맞게 처리하기 위해 필요한 함수(문단?)를 정의하고 사용하는 법을 이야기해 볼까 합니다.

     

    안녕하세요.

    이번 주에는 바쁜 일이 많아 이제서야 포스팅을 하게 되었습니다. 거두절미하고 오늘은 문자열 처리에 대해 알아보겠습니다. 문자열 처리를 위해서는 스마트메이커에서 제공하는 기본 문자열 처리함수를 잘 알고 있어야 하며 또한 이를 활용하여 문자열을 처리할 수 있는 함수(문단?)를 만들어 개발자가 원하는 방식으로 문자열을 처리하는 것이 가장 쉽고 업무규칙(코딩) 량도 줄일 수 있습니다.  그럼 스마트메이커에서 제공하는 문자열 처리함수에는 무엇이 있는지 알아보겠습니다.

     

    1. 스마트메이커에서 제공하는 문자열함수

    스마트메이커에서 제공하는 문자열함수를 다 설명할 수는 없습니다. 제공되는 함수가 많을 뿐만 아니라 문자열함수를 전부다 익힐 필요는 없습니다. 개발자가 문자열 처리에 필요한 함수들을 상황에 맞게 호출하여 사용하면 됩니다. 스마트메이커에서 제공하는 함수가 뭐가 있는지 알아보려면 업무규칙에서 도움말을 누르면 업무규칙 레퍼런스가 나타납니다. 검색(search)을 클릭 후 검색할 단어에 "문자열"이나 "문자"를 입력하면 문자열 관련 함수들이 보일 것입니다. 이번 포스팅에서는 자주 사용되는 문자열 함수 위주로 설명하려 합니다.

     

    업무규칙 레퍼런스에서 문자열함수 찾기
    업무규칙 레퍼런스 화면

     

    1.1 바꾸기

    해당 문자열에서 주어진 대상 문자열을 치환 문자열로 치환한다. 

    폼을 열면 다음 문단을 실행한다.
    {
          임시는 "맛있는 딸기"이다.
          임시에서 "딸기"를 "바나나"로 변경한다.   // 실행결과 : "맛있는 바나나"
    }

     

    1-2 절단

    단어의 실제 값이 문자열인 경우 좌(우)측 공백을 없애준다. 실제 값이 문자열이
    아닌 경우는 문자열로 치환해서 동작을 수행한다.
     
    폼을 열면 다음 문단을 실행한다.
    {
          임시는 "대한민국 "이다.
          임시의 절단('우')을 실행한다.     // 실행결과 : "대한민국"
    }

     

    1-3 일부

    문자열에서 주어진 위치의 문자열을 반환한다.
     
    폼을 열면 다음 문단을 실행한다.
    {
          임시는 "대한민국"이다.
          입력란은 임시의 일부(1,2)를 참조한다.     // 입력란 = "대한"
          입력란1은 임시의 일부(3,1)를 참조한다.    // 입력란1 = "민"
          입력란2은 임시의 일부(-1,2)를 참조한다.   // 입력란2 = "민국"
    }

     

     

    1-4 검색(찾기)

    해당 문자열에서 주어진 문자열의 위치를 반환한다. 시작 위치를 기준으로 검색을 한다.(1부터 시작, 찾지 못했을 경우 -1을 반환)

    폼을 열면 다음 문단을 실행한다.
    {
          임시는 "대한민국"이다.
          임시에서 "한"의 위치를 1부터 검색한다.   // 실행결과 : 2
    }

     

     1-5 문자나누기

     

    문장을 특정한 문자나 단어를 기준으로 나누어 배열로 반환한다.
      
    폼을 열면 다음 문단을 실행한다.
    {
          입력란은 "산,바다"이다.
          입력란의 문자나누기(",")를 실행한다.
          임시배열은 실행결과를 참조한다.
          입력란1은 배열값(1)을 참조한다.
          입력란2은 배열값(2)을 참조한다.
    }

    1-7 비교

    주어진 문자열의 값을 비교한다
     1) 대소문자를 비교하지 않는 경우
     2) 대소문자를 비교하는 경우
       
    폼을 열면 다음 문단을 실행한다.
    {
          임시, 임시1은 각각 "abcd", "ABCD"이다.
          임시를 임시1과 비교한다.         // 실행결과 : 참
          임시의 비교(임시1)를 실행한다.   // 실행결과 : 거짓
    }

     

     1-7 자릿수

     

    문자형 값의 자리수를 구해온다. 숫자 타입의 값인 경우는 문자로 치환했을 때
    자릿수를 넘겨주고, 배열 또는 객체인 경우에는 0 값이 온다.
      
    폼을 열면 다음 문단을 실행한다.
    {
          임시는 "대한민국"이다.
          입력란은 임시의 자릿수를 참조한다.     // 입력란 = "4"
    }

     

    이상으로 스마트메이커에서 제공하는 자주 사용하는 함수들을 알아보았습니다. 그럼 이러한 함수를 사용하여 간단한 문자열함수를 만들어 보고 실습해 보도록 하겠습니다.

     

    2.  내 입맛에 맞는 문자열 처리함수 만들기

    문자열 처리를 위해 또 한가지 중요한 개념인 아스키코드에 대해 이해하고 있어야 합니다. 문자열 처리에서 아스키(ASCII) 값은 문자를 컴퓨터에서 표현하는 데 사용되는 표준 인코딩 체계 중 하나입니다. 아스키는 7비트로 128개의 문자를 나타내며, 각 문자에 대해 고유한 숫자 코드를 할당합니다. 예를 들면, 대문자 'A'는 65, 소문자 'a'는 97에 해당합니다.

    스마트메이커에서는 아스키코드값을 알기 위해 사용하는 함수인 표준코드(문자)를 사용합니다. 즉 입력란은 "A"의 표준코드를 참조한다. 이런 식으로 사용합니다.

     

    <아스키코드표>

    Char Hex Oct Dec   Char Hex Oct Dec   Char Hex Oct Dec   Char Hex Oct Dec
    Ctrl-@
    NUL
    00 000 0   Space 20 040 32   @ 40 100 64   ` 60 140 96
    Ctrl-A SOH 01 001 1   ! 21 041 33   A 41 101 65   a 61 141 97
    Ctrl-B STX 02 002 2   " 22 042 34   B 42 102 66   b 62 142 98
    Ctrl-C ETX 03 003 3   # 23 043 35   C 43 103 67   c 63 143 99
    Ctrl-D EOT 04 004 4   $ 24 044 36   D 44 104 68   d 64 144 100
    Ctrl-E ENQ 05 005 5   % 25 045 37   E 45 105 69   e 65 145 101
    Ctrl-F ACK 06 006 6   & 26 046 38   F 46 106 70   f 66 146 102
    Ctrl-G BEL 07 007 7   ' 27 047 39   G 47 107 71   g 67 147 103
    Ctrl-H BS 08 010 8   ( 28 050 40   H 48 110 72   h 68 150 104
    Ctrl-I HT 09 011 9   ) 29 051 41   I 49 111 73   i 69 151 105
    Ctrl-J LF 0A 012 10   * 2A 052 42   J 4A 112 74   j 6A 152 106
    Ctrl-K VT 0B 013 11   + 2B 053 43   K 4B 113 75   k 6B 153 107
    Ctrl-L FF 0C 014 12   , 2C 054 44   L 4C 114 76   l 6C 154 108
    Ctrl-M CR 0D 015 13   - 2D 055 45   M 4D 115 77   m 6D 155 109
    Ctrl-N SO 0E 016 14   . 2E 056 46   N 4E 116 78   n 6E 156 110
    Ctrl-O SI 0F 017 15   / 2F 057 47   O 4F 117 79   o 6F 157 111
    Ctrl-P DLE 10 020 16   0 30 060 48   P 50 120 80   p 70 160 112
    Ctrl-Q DCI 11 021 17   1 31 061 49   Q 51 121 81   q 71 161 113
    Ctrl-R DC2 12 022 18   2 32 062 50   R 52 122 82   r 72 162 114
    Ctrl-S DC3 13 023 19   3 33 063 51   S 53 123 83   s 73 163 115
    Ctrl-T DC4 14 024 20   4 34 064 52   T 54 124 84   t 74 164 116
    Ctrl-U NAK 15 025 21   5 35 065 53   U 55 125 85   u 75 165 117
    Ctrl-V SYN 16 026 22   6 36 066 54   V 56 126 86   v 76 166 118
    Ctrl-W ETB 17 027 23   7 37 067 55   W 57 127 87   w 77 167 119
    Ctrl-X CAN 18 030 24   8 38 070 56   X 58 130 88   x 78 170 120
    Ctrl-Y EM 19 031 25   9 39 071 57   Y 59 131 89   y 79 171 121
    Ctrl-Z SUB 1A 032 26   : 3A 072 58   Z 5A 132 90   z 7A 172 122
    Ctrl-[ ESC 1B 033 27   ; 3B 073 59   [ 5B 133 91   { 7B 173 123
    Ctrl- FS 1C 034 28   <  3C 074 60   5C 134 92   | 7C 174 124
    Ctrl-] GS 1D 035 29   = 3D 075 61   ] 5D 135 93   } 7D 175 125
    Ctrl-^ RS 1E 036 30   >  3E 076 62   ^ 5E 136 94   ~ 7E 176 126
    Ctrl_ US 1F 037 31   ? 3F 077 63   _ 5F 137 95   DEL 7F 177 127

     

    아스키코드표 출처 : http://cafe.daum.net/flowlife



    아스키 값은 문자를 컴퓨터가 이해하고 처리할 수 있는 숫자로 변환하는 데 사용됩니다. 문자열은 기본적으로 문자들의 나열이며, 각 문자는 아스키 값으로 표현됩니다. 

     

    이러한 아스키 값을 사용하여  문자 비교, 문자열 정렬, 파일 처리, 문자열 처리등에 사용됩니다. 아스키 값은 문자를 효율적으로 표현하고 처리하기 위한 표준 방법 중 하나로 사용되며, 이를 통해 컴퓨터에서 문자열을 다루는 다양한 작업을 수행할 수 있습니다.

     

    이제 문자열 처리를 위한 기본 개념을 배웠으니 실제 이러한 개념을 가지고 스마트메이커에서 사용할 수 있는 문자열 처리함수(문단)를 만들어 보고 활용할 수 있는 예제를 만들어 보겠습니다.



    1. 문자열 처리를 위한 예제 폼 만들기

    이 예제는 문자열 처리를 테스트하기 위한 예제입니다. 여기에서 사용된 업무처리(코딩)는 초보자가 문자열 처리를 하는데 이렇게 사용할 수 있다는 예제 정도로 생각하고 이해해 주시면 됩니다. 중 고급 개발자분들은 업무규칙(코딩)을 수정하여 입맛에 맞게 사용하시면 됩니다. 

     

    1.1 다음과 같이 문자열 처리를 테스트하기 위한 폼을 디자인합니다. 

    문자열 처리를 위해 폼을 디자인 합니다.
    문자열 처리를 위한 폼 화면

     

     

    1-2 업무규칙을 사용해서 함수(문단)를 정의합니다.

     

    업무규칙 화면 1

     

    업무규칙 화면 2

     

    업무규칙 화면 3

     

    이렇게 업무규칙을 작성하고 F11로 컴파일 후 실행하면 쉽게 이해하 실 수 있을 것 같습니다.

    사용방법을 간단히 설명드리면 입력문자열에 입력된 값을 버튼을 누르면 해당함수가 호출되어 실행됩니다.

     

    대소문자 바꾸기 : 입력문자열의 문자열을 대문자로 혹은 소문자로 바꿔서 결과를 출력합니다. 한번 누르면 대문자, 한 번 더 누르면 소문자로 바꿔가며 출력합니다.

     

    특정문자 바꾸기 : 대상문자에 값을 입력하고, 바꿀/찾을 문자에 값을 입력하여 입력문자열에서 대상문자를 바꿀문자로 대체하여 출력합니다.

     

    특정문자 삭제하기 :  삭제할 문자열에  값을 입력하고 특정문자 삭제하기 버튼을 누르면 삭제할 문자가 삭제됩니다.

     

    특정문자 위치 찾기 :  바꿀/찾을 문자에 값을 입력하고 특정문자 위치 찾기를 누르면 찾을 문자의 위치를 출력합니다.

     

    문자열 거꾸로 바꾸기 : 입력문자열에 입력된 문자열이 꺼꾸로 바꿔서 결과를 출력합니다.

     

    추출하기 : 콤보박스의 선택된 내용을 입력문자열에서 추출하여 결과를 출력합니다.

     

    오늘은 문자열 처리를 할 때, 스마트메이커에서 제공하는 함수를 이용하면 쉽게 문자열 처리를 할 수 있습니다. 또한 이를 응용하여 개발자의 기호에 맞게 함수를 만들어 사용하는 방법을 배워보았습니다. 문자열 처리는 앱을 개발하는 데에 기본적인 사항이므로 반드시 사용방법을 숙지하시기 바랍니다.

     

    위의 예제를 테스트해 볼 수 있도록 파일을 첨부해 드리니 테스트해 보시기 바라며 개발자의 기호에 맞게 수정하여 사용하시기 바랍니다. 

     

    문자열처리하기.QPM
    0.00MB
    문자열처리하기.QPM.obj
    0.00MB

     

    오늘은 여기까지...

    감사합니다.

    728x90
Designed by Tistory.