我尝试在 Mirth connect JavaScrip 中将管道与字符串分开,但由于某种原因,它没有按预期工作。
例子:
var x = "RO|123|test|account|test2";
var arr = x.split('|');
Run Code Online (Sandbox Code Playgroud)
当我循环遍历变量 arr 时,我期望输出如下:
arr[0] -> RO
arr[1] -> 123
arr[2] -> test
arr[3] -> account
arr[4] -> test2
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,输出如下:
arr[0] -> R
arr[1] -> O
arr[2] -> |
arr[3] -> 1
arr[4] -> 2
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么以及如何解决这个问题?
在您的实际代码中,x 可能是一个 Java 字符串,而不是像您的示例中那样的 Javascript 字符串。Java String.split 方法采用正则表达式字符串作为第一个参数。
对于此声明:
var x = new java.lang.String("RO|123|test|account|test2");
Run Code Online (Sandbox Code Playgroud)
其中任何一个都应该给出预期的结果:
// 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
Run Code Online (Sandbox Code Playgroud)
注意:对于那些只了解 javascript 标签的人,mirth javascript 在 Mozilla Rhino 环境中运行。
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |