我正在使用beanshell来解析SWIFT数据,并需要通过引用这些SWIFT标签来提取值。现在,我静态地获取这些值这样:什么是beanshell for循环和数组的优雅解决方案
String getACRU = swiftMessage.getTagData("19A",":ACRU//");
String getANTO = swiftMessage.getTagData("19A",":ANTO//");
String getCHAR = swiftMessage.getTagData("19A",":CHAR//");
String getCOUN = swiftMessage.getTagData("19A",":COUN//");
String getEXEC = swiftMessage.getTagData("19A",":EXEC//");
String getISDI = swiftMessage.getTagData("19A",":ISDI//");
String getLADT = swiftMessage.getTagData("19A",":LADT//");
String getLEVY = swiftMessage.getTagData("19A",":LEVY//");
String getLOCL = swiftMessage.getTagData("19A",":LOCL//");
String getLOCO = swiftMessage.getTagData("19A",":LOCO//");
String getMARG = swiftMessage.getTagData("19A",":MARG//");
String getOTHR = swiftMessage.getTagData("19A",":OTHR//");
String getPOST = swiftMessage.getTagData("19A",":POST//");
String getREGF = swiftMessage.getTagData("19A",":REGF//");
String getSHIP = swiftMessage.getTagData("19A",":SHIP//");
String getSPCN = swiftMessage.getTagData("19A",":SPCN//");
String getSTAM = swiftMessage.getTagData("19A",":STAM//");
String getSTEX = swiftMessage.getTagData("19A",":STEX//");
String getTRAN = swiftMessage.getTagData("19A",":TRAN//");
String getTRAX = swiftMessage.getTagData("19A",":TRAX//");
String getVATA = swiftMessage.getTagData("19A",":VATA//");
String getWITH = swiftMessage.getTagData("19A",":WITH//");
String getCOAX = swiftMessage.getTagData("19A",":COAX//");
String getACCA = swiftMessage.getTagData("19A",":ACCA//");
我的问题是双重的:什么是能够完美地改写这个最好的办法,什么是最好的方式在BeanShell中添加一个方法/函数,将删除前三个字符,将逗号更改为一个句点,并且一旦所有这些值都已经从消息中解析出来,将它们全部添加起来?
我猜它可以工作,但你的循环似乎覆盖“我”在每一个循环。每次迭代后,您都需要一个占位符来保留总和。 – Carlos 2014-01-30 14:37:21