天庸

导航

 

1.概念:由一组连续字符形成的数据。

  COBOL中不需要对字符串添加任何结束标志。

2、使用STRING语句合并字符串

  STRING

    FIRST-NAME  DELIMITED  BY  SAPCE

    ' '  DELIMITED  BY   SIZE

    LAST-NAME  DELIMITED  BY  SPACE

    INTO  FULL-NAME.

  其中:DELIMITED  BY的SPACE选项用于截掉字符串前后的空格。

    SIZE用于将合并的字符串全部内容合并

    ' '  DELIMITED  BY   SIZE:是在FULLname中添加一个空格

3、相应的UNSTRING语句拆分字符串

  UNSTRING  FULL-NAME

    DELIMITED  BY  ' '

    INTO  FIRST-NAME

        LAST-NAME.

    DISPLAY  'FULL NAME:',FULL-NAME.

    DISPLAY  'FIRST NAME:',FIRST-NAME.

    DISPLAY  'LAST NAME:'LAST-NAME.

4.用INSPECT语句替换字符串

  主要对字符串中的指定部分进行替换。

  例:

DATA DIVISION.
WORKING-STORAGE SECTION
01 DATE1 PIC X(10).
01 YEAR PIC X(4).
01 MONTH PIC X(2).
01 DAY1 PIC X(2).

01 TEST-STRING PIC X(10).
01 SOURCE-STRING PIC X(10).
PROCEDURE DIVISION

MOVE '2008/01/15' TO DATE1.
UNSTRING DATE1
DELIMITED BY '/'
INTO YEAR
MONTH
DAY1.
DISPLAY 'DATE:',DATE1.
DISPLAY 'YEAR:',YEAR.
DISPLAY 'MONTH:',MONTH.
DISPLAY 'DAY:',DAY1.

MOVE 'ABCD0A0B8B' TO TEST-STRING.
DISPLAY 'BEFORE INSPECT:',TEST-STRING.
MOVE TEST-STRING TO SOURCE-STRING.
INSPECT SOURCE-STRING
REPLACING ALL 'A' BY 'B'.
INSPECT SOURCE-STRING
REPLACING ALL '0' BY '_'.
INSPECT SOURCE-STRING
REPLACING LEADING 'B' BY '*'.
INSPECT SOURCE-STRING
REPLACING FIRST '*' BY '$'.
DISPLAY 'AFTER INSPECT:'SOURCE-STRING.

STOP RUN.

对全体数据进行替换:INSPECT SOURCE-STRING REPLACING ALL 'A' BY 'B'.

对开始数据进行替换:INSPECT SOURCE-STRING REPLACING  LEADING 'A' BY 'B'.

对首个字符进行替换:INSPECT SOURCE-STRING REPLACING FIRST 'A' BY 'B'.

5.字符串替换

  以原字符串的字符为基础进行格式转换。

  a、大小写转换

  例: FUNCTION LOWER-CASE(TEST-STRING) TO NEW-STRING.

       FUNCTION UPPER-CASE(TEST-STRING) TO NEW-STRING.

  b、将字符串转换为具体数值 

  COMPUTE NUM-O1 =

    FUNCTION NUMVAL(NUM-STR-01).  

  DISPLAY 'CONVERT AFTRE:',NUM-O1.

6.子字符串

  相当于原字符串的一个子集。

  例:MOVE  '2008/09/23'  TO  DATE.

    MOVE  DATE(1:4)  TO  YEAR.

    MOVE  DATE(6:2)  TO  MONTH. 

    MOVE  DATE(9: )  TO  DAY.  //表示从第9位到字符结束

7.通过MAX和MIN得到最大和最小字符串

  MOVE  FUNCTION  MAX(STR-1 STR-2 STR-3) TO MAX-STR.

  MOVE  FUNCTION  MIN(STR-1 STR-2 STR-3) TO MIN-STR.

  MOVE  FUNCTION  MAX(NUM-1 NUM-2 NUM-3) TO MAX-STR.

  MOVE  FUNCTION  MIN(NUM-1 NUM-2 NUM-3) TO MIN-STR.

8.求取字符串的长度

  使用FUNCTION LENGTH或者LENTH OF 得到字符串的长度。

  例:  

    MOVE FUNCTION LOWER-CASE(TEST-STRING) TO NEW-STRING.
    DISPLAY 'NEW-STRING:',NEW-STRING.

 

 

 

 

 

 

 

 

 

  

posted on 2017-09-21 15:17  天庸  阅读(3939)  评论(0编辑  收藏  举报