труба с разделением строк не работает в Mirth connect JavaScript - PullRequest
0 голосов
/ 05 июня 2019

Я пытался отделить канал от строки в 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

Кто-нибудь знает, почему и как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 06 июня 2019

В вашем реальном коде 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.

0 голосов
/ 05 июня 2019

Должно работать нормально, так как работает как положено.

var x = "RO|123|test|account|test2";
var arr = x.split('|');
/* document.write(arr); */

for(var i =0; i < arr.length; i++){
	document.write("arr["+[i]+"] ->"+arr[i]+ "<br>");
}
...