我从另一个应用程序收到一个包含各种信息的字符串。这些项目始终处于相同的顺序,但可变信息的长度可以改变。每个项目由下划线分隔,并以字母和冒号为前缀。
例子:
答:12345678_B:5482945_C:20220911_D:20230402_E:3.94
理想情况下,我想将其分解,以便(在 Coldfusion 中)我最终可以得到一系列变量,我将它们设置为上面的 A、B、C、D 和 E 的值。
有谁知道有什么简单的方法可以做到这一点?
谢谢!
我认为@Will 遗漏了您要求的一小部分,即
我最终可以得到一系列变量,我将它们设置为上面的 A、B、C、D 和 E 的值”
对我来说,这更多地展示了您想要实现的目标:
raw = "A:12345678_B:5482945_C:20220911_D:20230402_E:3.94"
asArray = raw.listToArray("_")
asStruct = asArray.reduce((struct, kvAsString) => {
var key = kvAsString.listFirst(":")
var value = kvAsString.listRest(":")
struct[key] = value
return struct
}, {})
writeDump(asStruct)
Run Code Online (Sandbox Code Playgroud)
(可运行@trycf.com:https://trycf.com/gist/e84aea475957e27b5dea2643e7c207ad/acf2021 ?theme=monokai )
虽然这不会创建“一系列变量”,但它确实将键与值分开,并且从那里您可以将其附加到您需要变量的任何范围(例如variables.append(asStruct):)
今后请:
基本上:当你提出问题时总是包含代码。
| 归档时间: |
|
| 查看次数: |
135 次 |
| 最近记录: |