String 显示字符串标记

String 显示字符串标记,string,expression,birt,token,String,Expression,Birt,Token,我有以$$分隔的字符串标记,这些标记是以逗号进一步分隔的详细信息列表,例如纽约州乔森街255号彼得·亚当斯,74322$$玛丽·路德,密西西比州埃格林顿大道54号,L5A1W6 我想以下面的方式显示上面的内容 Name : Peter Adams Addr :255 Jhonson Street City : NY Pincode :74322 Name : Mary Luther Addr :54 Eglinton Ave. City :Mississauga Pincode :ON L5A

我有以$$分隔的字符串标记,这些标记是以逗号进一步分隔的详细信息列表,例如纽约州乔森街255号彼得·亚当斯,74322$$玛丽·路德,密西西比州埃格林顿大道54号,L5A1W6

我想以下面的方式显示上面的内容

Name : Peter Adams
Addr :255 Jhonson Street
City : NY
Pincode :74322

Name : Mary Luther
Addr :54 Eglinton Ave.
City :Mississauga
Pincode :ON L5A1W6
在BIRT输出中

我试过使用下面的代码

var myexp =/[$$]/;
var match = myexp.exec(dataSetRow["SDR"]);
if(match !=null)
{
array=dataSetRow["SDR"].split("$$");
//dataSetRow["SDR"] ="x";
var string=null;
for(var i=0; i<array.length; i++)
{
string+=array[i]+"\n\n";

}
dataSetRow["SDR"]=string.substring(4,string.length);
}
else
{
dataSetRow["SDR"]=dataSetRow["SDR"];
}

有人能给出一些建议吗?

所以你有一个填充了令牌的数组。好的用逗号数组[index]进行另一次拆分。拆分为另一个数组,比如说array1,并使用array1的各个元素以所需格式输出值。

您是否考虑过使用文本控件而不是实际过度写入数据绑定本身?在文本控件中,您可以进行所有格式化,使输出看起来与您想要的一样,并且仍然保持数据绑定的完整性

要做到这一点,只需将文本字段拖到表上,而不是数据元素本身。在构建表时,您的文本项将有权访问每一行的数据。然后为HTML输出配置一种动态文本类型的文本元素,这两种文本都是通过文本项对话框中的下拉菜单设置的。然后将其添加为用于生成文本项的表达式:

var myexp =/[$$]/; 
var match = myexp.exec(dataSetRow["SDR"]); 
var outString = "";

if(match != null) {
    var splitResult = dataSetRow["SDR"].split(" $$ ");
    for(i = 0; i < splitResult.length; i++){
       outString = outString + splitResult[i].replace(",", ":");        
    } 
}
else
    outString = dataSetRow["SDR"];

"Name:  " + outString;
var myexp =/[$$]/; 
var match = myexp.exec(dataSetRow["SDR"]); 
var outString = "";

if(match != null) {
    var splitResult = dataSetRow["SDR"].split(" $$ ");
    for(i = 0; i < splitResult.length; i++){
       outString = outString + splitResult[i].replace(",", ":");        
    } 
}
else
    outString = dataSetRow["SDR"];

"Name:  " + outString;