我尝试在 Mirth connect JavaScrip 中将管道与字符串分开,但由于某种原因,它没有按预期工作。
示例:
var x = "RO|123|test|account|test2";
var arr = x.split('|');
当我循环变量 arr 时,我期待输出,如下所示:
arr[0] -> RO
arr[1] -> 123
arr[2] -> test
arr[3] -> account
arr[4] -> test2
但由于某种原因,输出如下:
arr[0] -> R
arr[1] -> O
arr[2] -> |
arr[3] -> 1
arr[4] -> 2
有谁知道为什么以及如何解决这个问题?
最佳答案
在您的实际代码中,x 可能是一个 Java 字符串,而不是像您的示例中那样的 Javascript 字符串。 Java String.split 方法采用正则表达式字符串作为第一个参数。
对于此声明:
var x = new java.lang.String("RO|123|test|account|test2");
其中任何一个都应该给出预期的结果:
// Calling the Java String.split method.
var arr = x.split('\\|'); // arr will be a Java array
// Explicitly convert to a Javascript string to ensure calling
// Javascript String.prototype.split function.
var arr = String(x).split('|'); // arr will be a Javascript array
注意:对于那些只了解 javascript 标签的人,mirth javascript 在 Mozilla Rhino 环境中运行。
关于javascript - 字符串分割管道在 Mirth connect JavaScript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56457425/