有关正则表达式的一个问题

dagouaofei 2007-09-26 05:00:55
我想把一个text文件转成xml文件,现在text文件已经存如一个String类变量里。
比如text里写
title:aaa
item:
date:bbb
content:abc
item:
date:ccc
我想把它转成
<title>aaa</title>
<item>
<date>bbb</date>
<content>abc</content>
</item>
<item>
<date>ccc</date>
</item>
用String类的replaceAll方法,如何写?谢谢
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dagouaofei 2007-09-27
  • 打赏
  • 举报
回复
thanks
sharelist 2007-09-26
  • 打赏
  • 举报
回复
随便写了一点,仅供参考,对与不对,我不负责。

public class TestDy{

public static void main(String[] args) {

TestDy tf=new TestDy();
String str=tf.mread("E:/test.txt");
str=str.replaceAll("title:(.+)","<title>$1</title>");
str=str.replaceAll("date:(.+)","<date>$1</date>");
str=str.replaceAll("content:(.+)","<content>$1</content>");
str=str.replaceAll("item:","</item>\n<item>");
str=str.replaceFirst("</item>","");
str=str+"</item>";
System.out.println(str);
}

//读文件
public String read(String path){
InputStreamReader in;
char []ch=new char[1024];
StringBuffer cb=new StringBuffer();
try {
in=new InputStreamReader(new FileInputStream(path),"UTF-8");
int len=0;
while((len=in.read(ch))!=-1){
cb.append(ch,0,len);
}
} catch (Exception e) {
e.printStackTrace();
}
return cb.toString();
}
}
for_cyan 2007-09-26
  • 打赏
  • 举报
回复
存在多层嵌套并且分割符一致,用正则表达式的懒惰和贪婪都无法达到
this is 我的个人意见

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧