我想用COBOL替換字符'<'和'>'的<
和>
。我想知道INSPECT語句,但是看起來這個語句可以用來將一個字符轉換成另一個字符。我的意圖是用他們的html實體替換所有的html字符。用html實體替換字符的COBOL代碼
任何人都可以找出一些辦法嗎?也許循環遍歷字符串並測試每個字符是唯一的方法?
歡迎使用GnuCOBOL或IBM COBOL示例。
我最好的代碼是類似的東西:(http://ideone.com/MKiAc6)
IDENTIFICATION DIVISION.
PROGRAM-ID. HTMLSECURE.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 INPTXT PIC X(50).
77 OUTTXT PIC X(500).
77 I PIC 9(4) COMP VALUE 1.
77 P PIC 9(4) COMP VALUE 1.
PROCEDURE DIVISION.
MOVE 1 TO P
MOVE '<SCRIPT> TEST TEST </SCRIPT>' TO INPTXT
PERFORM VARYING I FROM 1 BY 1
UNTIL I EQUAL LENGTH OF INPTXT
EVALUATE INPTXT(I:1)
WHEN '<'
MOVE "<" TO OUTTXT(P:4)
ADD 4 TO P
WHEN '>'
MOVE ">" TO OUTTXT(P:4)
ADD 4 TO P
WHEN OTHER
MOVE INPTXT(I:1) TO OUTTXT(P:1)
ADD 1 TO P
END-EVALUATE
END-PERFORM
DISPLAY OUTTXT
STOP RUN
.
我認爲你需要澄清你想要做什麼。目前,你似乎不想做任何事情(改變>和<到<)。你能展示一些有代表性的樣本輸入和期望的輸出嗎 – 2014-09-28 21:53:52
我通過查看編輯來制定如何顯示你想要的內容,我包括反向代碼以及合併來阻止它們被直接處理。現在可以看到你在做什麼。 – 2014-09-28 22:39:58
您接受的建議的各種解決方案的哪一部分? :-) – 2014-09-29 00:17:17