COBOL代码用html实体替换字符

编程入门 行业动态 更新时间:2024-10-28 09:26:23
本文介绍了COBOL代码用html实体替换字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想用& lt; 和& gt; 与COBOL。我想知道INSPECT语句,但是看起来这个语句可以用来将一个字符转换成另一个字符。我的意图是用他们的html实体替换所有的html字符。

任何人都可以找出一些方法来做到这一点吗?也许循环遍历字符串并测试每个字符是唯一的方法?

欢迎使用GnuCOBOL或IBM COBOL示例。

我最好的代码是这样的:( ideone/MKiAc6 )

IDENTIFICATION DIVISION。 PROGRAM-ID。 HTMLSECURE。 环境部门。 DATA DIVISION。 工作储存部分。 77 INPTXT PIC X(50)。 77 OUTTXT PIC X(500)。 77 I PIC 9(4)COMP价值1. 77 P PIC 9(4)COMP价值1. 程序部门。 MOVE 1 TO P MOVE'< SCRIPT> TEST TEST< / SCRIPT>'输入 由1变为1 直到我等于输入长度 评估输入(I:1) WHEN'<' MOVE& lt; TO OUTTXT(P:4)加4到P 当'>' MOVE& gt; TO OUTTXT(P:4)添加4至P 当其他移动INPTXT(I:1)至OUTTXT(P:1)时加1至P END-EVALUATE END-PERFORM DISPLAY OUTTXT STOP RUN 。

解决方案

COBOL是固定长度字段的语言。所以不行, INSPECT 不能做你想做的事。

如果你需要这个IBM大型机,您的SORT产品(假设足够最新)可以使用 FINDREP 。

你看看Enterprise COBOL中XML处理的可能性,你会发现他们正是你想要的(我猜)。 GnuCOBOL也可以很容易地与其他许多东西进行交互。如果您正在编写GnuCOBOL以在非大型机上运行,​​那么我建议您在SourceForge的GnuCOBOL部分上提问。

否则,它会归结为循环数据。一旦你澄清了你想要的更多,你可能会得到一些例子,如果你仍然需要它们的话。

I want to replace the characters '<' and '>' by &lt; and &gt; with COBOL. I was wondering about INSPECT statement, but it looks like this statement just can be used to translate one char by another. My intention is to replace all html characters by their html entities.

Can anyone figure out some way to do it? Maybe looping over the string and testing each char is the only way?

GnuCOBOL or IBM COBOL examples are welcome.

My best code is something like it: (ideone/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 "&lt;" TO OUTTXT(P:4) ADD 4 TO P WHEN '>' MOVE "&gt;" 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 .

解决方案

COBOL is a language of fixed-length fields. So no, INSPECT is not going to be able to do what you want.

If you need this for an IBM Mainframe, your SORT product (assuming sufficiently up-to-date) can do this using FINDREP.

If you look at the XML processing possibilities in Enterprise COBOL, you will see that they do exactly what you want (I'd guess). GnuCOBOL can also readily interface with lots of other things. If you are writing GnuCOBOL for running on a non-Mainframe, I'd suggest you ask on the GnuCOBOL part of SourceForge.

Otherwise, yes, it would come down to looping through the data. Once you clarify what you want a bit more, you may get examples of that if you still need them.

更多推荐

COBOL代码用html实体替换字符

本文发布于:2023-10-16 07:05:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1496818.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实体   字符   代码   COBOL   html

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!