找出字符串的长度
回答
如果你真的确定你不想空间之间可以定义测试-VAL和PERFORM
使用:
77 some-len PIC 9(02). *> make sure to use appropriate length, if "big" use COMP-5
77 string-ptr PIC 9(02). *> make sure to use appropriate length
77 some-var PIC X(20) VALUE ' ABC WXYZ'.
77 var-len PIC 9(02) VALUE LENGTH OF some-var.
01 test-char PIC X.
88 no-spaces values 'A' THROUGH 'Z'
'a' THROUGH 'z'
'0' THROUGH '9'
'-', '.'.
PROCEDURE DIVISION.
MOVE 0 TO some-len
PERFORM VARYING string-ptr FROM 1 BY 1
UNTIL string-ptr > var-len
MOVE some-var (string-ptr) TO test-char
IF no-spaces ADD 1 TO some-len END-IF
END-PERFORM
正如比尔指出,如果你只是想知道“没有空间”字有需要较少瓦尔更快的选项(确保你对此有何评论这让你和其他人知道这是什么呢?
*> set numbers of all non-spaces in some-len
MOVE 0 TO some-len
INSPECT some-var TALLYING some-len FOR ALL SPACES
*> add more counts here if you want to remove more chars like x'0D'/x'0A'/x'00', ...
*> INSPECT some-var TALLYING some-len FOR ALL x'00'
*> INSPECT some-var TALLYING some-len FOR ALL x'0D'
*> INSPECT some-var TALLYING some-len FOR ALL x'0A'
*> and finally subtract it from the fields length
SUBTRACT some-len FROM LENGTH OF some-var GIVING some-len
*>
有关信息,用户名Maxcc0提示和大型机,并确实快速查看其配置文件显示一个大型机标签。当然还记得他们以前的问题。所以78不行。如果不需要COMP-5将会很糟糕(它不在这里)。为什么不计算空间?检查... TALLYING例如。 –
@BillWoodger: Maxcc0用户配置文件的信息不是问题的一部分:-) 我已将源更改为使用'LENGTH OF'特殊寄存器而不是级别78扩展并添加了INSPECT选项。 –
感谢您的建议。检查将工作正常:)。 – Maxcc0
- 1. 如何找出字符串长度
- 2. 找到一个字符串的长度
- 3. 查找字符串的长度
- 4. 程序找到字符串的长度
- 5. 未找到分隔符/字符串长度超过DDL长度
- 6. 查找包含其自身长度的字符串的长度?
- 7. Xpath函数找出属性的字符串长度
- 8. Typescript字符串|字符串[]查找数组长度
- 9. strncpy()字符串长度输出错误
- 10. Python:binascii.a2b_hex给出“奇数长度字符串”
- 11. unicode字符串的长度
- 12. SQL:查找数据字符串中的动态长度字符
- 13. 查找最长的字符串名称和长度
- 14. 如何找到最长的字符串长度节点值
- 15. 如何找出Postgres允许的最长查询字符串长度?
- 16. 找出最长序列在一个字符串中的时间长度
- 17. 时刻字符串长度
- 18. 自动字符串长度
- 19. 字符串长度问题
- 20. 比较字符串长度
- 21. C字符串长度
- 22. 字符串长度问题
- 23. Firebase logEvent字符串长度
- 24. Java Unicode字符串长度
- 25. Rails Json字符串长度
- 26. 字符串长度问题
- 27. 限制字符串长度
- 28. 内找到长字符串
- 29. 查找字符串中的可变长度字符串的多个实例
- 30. 获取字符串的字节长度
你尝试过什么到目前为止,如果没有,你至少应该搜索此网站作为字符串处理已经出现了几次,并有想法让你st arted。那么如果你陷入困境,你可以问一个更好,更具体的问题。 – lurker
@ Maxcc0提供的答案是否适合您?如果是,请将其标记为答案,如果不是的话:请评论你的答案。 –