解析文本并将其放在HTML标签的光谱位置

时间:2016-02-23 08:49:00

标签: java

我的文本文件在每行中都包含一条记录,示例如下:

946352705   U.S.A.  UNIMOX DRUGS PVT. LTD.  "65 West Alisal St, salinas, CA 93901"
946357899   U.S.A.  NIL DRUGS PVT. LTD. "86 East Alisal St, salinas, CA 93905"

我想使用java

为每条记录使用上述文本文件的数据生成HTML文件

一个行记录的预期输出:

<doctypehtml1>
<html>
<body>
<code>946352705</code>
<i>U.S.A.</i>
<B>UNIMOX DRUGS PVT. LTD.</B>
<p>"65 West Alisal St, salinas, CA 93901"</p>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您可以使用jquery手动解析文本(要求新记录之间至少有两个空格,因为您的数据包含具有一个空格的字符串。)

var lines = $('.label_im_getting').html().split('\n');
var htmlData = "<doctypehtml1><html><body>";
$.each(lines, function(index, line) {
  var words = line.split("  ");
 htmlData += '<code>' + $.trim(words[0]) + '</code>' + '<i>' + $.trim(words[1]) + '</i>' + '<B>' + $.trim(words[2]) + '</B>' + '<p>' + $.trim(words[3]) + '</p>';
});
htmlData +='</body></html>';
$("#output").html(htmlData);

DEMO

JAVA代码:

public static void main(String[] args) {
    String rawData = "946352705  U.S.A.  UNIMOX DRUGS PVT. LTD.  \"65 West Alisal St, salinas, CA 93901\" \n946357899  U.S.A.  NIL DRUGS PVT. LTD.  \"86 East Alisal St, salinas, CA 93905\"";
    String[] lines = rawData.trim().split("\n");
    StringBuilder htmlData = new StringBuilder("<doctypehtml1><html><body>");
    for (String line : lines) {
        String[] words = line.trim().split("  ");
        htmlData.append("<code>" + words[0].trim() + "</code>");
        htmlData.append("<i>" + words[1].trim() + "</i>");
        htmlData.append("<B>" + words[2].trim() + "</B>");
        htmlData.append("<p>" + words[3].trim() + "</p>");
    }
    htmlData.append("</body></html>");
    System.out.println(htmlData.toString());
}