输入两个字符串,找不同

发布于 2022-09-07 21:38:11 字数 600 浏览 24 评论 5

本帖最后由 DARKBLUEWORLD 于 2010-11-03 15:01 编辑

[size=3比如字符串A:ABCABCABC,总数是3A3B3C,字符串B:ABCDABCD ,总数是2A2B2C2D,在画面上输入,
找不同,不仅要找到不同的地方,还要计算出数目,比如,上面的A和B找不同结果为:
不同之处   数目
A                 1
B                  1
C                 1
D                  2

请各位前辈指点,我该怎么做

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

恬淡成诗 2022-09-11 20:40:26

谢谢指点,我琢磨一下

披肩女神 2022-09-11 17:25:43

在rpgiv中用%check,请参照我写的:
1)《RPGIV编程技巧(9)ile rpg中如何判断一个字符串是否全是由0-9数字组成的?》
   http://blog.chinaunix.net/u1/46034/showart_2190008.html
2)《RPGIV编程技巧(10)如何判断数组有非法字符?》
   http://blog.chinaunix.net/u1/46034/showart_2201438.html

抹茶夏天i‖ 2022-09-11 11:07:25

楼主想要实现两个字符串不同的地方
我想到的一个方法
以最短的那个字符串为标准,查找长的那个字符串
例如 A='4514646DFDFD'   B='45413174643DDFDSFDFD@'
一个一个取A中字符 去    chain B  如果发现就把两个字符串中这个字符都有置为 *BLANK
一直到结束,再合起两个字符串,排序,之后非空的那些字符就是两者不同的地方。数目可以根据下表去计算
伪码:
  ARRY  BRRY CRRY   都是  1A  DIM()  如果有汉字的话就另外说了
MOVEA   A     ARRY
MOVEA   B     BRRY
DO           X                 %LEN(A)
EVAL       Y = %LOOKUP(ARRY(X):BRRY)
IF         Y<>0
EVAL    ARRY(X) = *BLANK
EVAL   BRRY(Y)  = *BLANK
ENDIF
ENDDO
SORTA   ARRY
SORTA  BRRY
MOVEA  ARRY       D
MOVEA BRRY        E
EVAL      F = %TRIM(D) +%TRIM( E)
MOVEA   F        CRRY
SORTA    CRRY
CRRY 就是楼主想要的东西了

不语却知心 2022-09-09 21:48:19

也看不懂,飄過

送你一个梦 2022-09-08 14:44:56

俺不是高手,看不懂你的需求

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文