找出字符串的長度
回答
如果你真的確定你不想空間之間可以定義測試-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. 找到一個字符串的長度
- 6. 查找multiplicy長度的字符串
- 7. 查找字符串的長度
- 8. 程序找到字符串的長度
- 9. 未找到分隔符/字符串長度超過DDL長度
- 10. 查找包含其自身長度的字符串的長度?
- 11. 查找字符串中所有子字符串的長度
- 12. Xpath函數找出屬性的字符串長度
- 13. Typescript字符串|字符串[]查找數組長度
- 14. 檢索字符串長度時出錯
- 15. strncpy()字符串長度輸出錯誤
- 16. Python:binascii.a2b_hex給出「奇數長度字符串」
- 17. bash的字符串長度
- 18. 字符串的長度(Python)
- 19. 查找字符串中的所有3個字符長度的子字符串
- 20. 長度 「串」 與新的字符串的長度( 「串」)
- 21. SQL:查找數據字符串中的動態長度字符
- 22. 查找字符串中字符之間的長度
- 23. 爲什麼字符串的字節長度比長度長?
- 24. 查找最長的字符串名稱和長度
- 25. 如何找到最長的字符串長度節點值
- 26. 如何找出Postgres允許的最長查詢字符串長度?
- 27. 找出最長序列在一個字符串中的時間長度
- 28. 查找沒有連續重複字符的最長子字符串的長度
- 29. C字符串長度
- 30. 比較字符串長度
你嘗試過什麼到目前爲止,如果沒有,你至少應該搜索此網站作爲字符串處理已經出現了幾次,並有想法讓你st arted。那麼如果你陷入困境,你可以問一個更好,更具體的問題。 – lurker
@ Maxcc0提供的答案是否適合您?如果是,請將其標記爲答案,如果不是的話:請評論你的答案。 –