Извлечение чисел из строки с использованием Birt Scripting - PullRequest
0 голосов
/ 20 марта 2012

Я разрабатываю приложение для отчетности с использованием BIRT.Поле базы данных содержит другие символы с числовыми данными.Мне нужно было отфильтровать все другие нежелательные символы и извлечь только числовые данные из поля базы данных.Я не делал этого по запросу (это не было возможно с моими требованиями).Я сделал это по сценарию BIRT.Но часть регулярного выражения javascript следующего скрипта BIRT не работает.(Но регулярное выражение javascript правильное. Я тестировал его на сайтах, проверяющих javascript онлайн). Но с помощью скрипта BIRT часть регулярного выражения не работает.Как правильно реализовать этот сценарий BIRT?

if(BirtComp.like(row["fldDescription"],"%Plate Count%",true)){
var data = row["bbb"];
var num = 0;
try{
    num= parseFloat(data.match(/\d+/)[0]);//this is the regex part that is not working
    }
catch(err){
    num = row["bbb"];
}


if(num<=100){
    if(BirtComp.match(row["fldResult3"],"/^.*<.*/") ){
    1.4
    }else if(num==100){
    num
    }else{
    1.4
    }
}else{
num
}

Любая помощь будет высоко оценена.

С уважением, Аруна

1 Ответ

2 голосов
/ 20 марта 2012

С тех пор, как я сделал BIRT, это было всегда, но я считаю, что сценарии BIRT - это всего лишь интерпретатор JavaScript для Java. Я уверен, что вы можете создавать и использовать объекты Java. Я думаю, этот сайт немного говорит с ним, но вы должны довольно легко его найти.

Вероятно, лучшим способом было бы использовать API Java Regex . Он позволяет обрабатывать регулярные выражения, но вы также можете просто разобрать его вручную.

...