一个文档中有多个<TEXT>*</TEXT>怎么用 java把他们提取到一个字符串中?要具体实现的

一个文档中有多个<TEXT>*</TEXT>怎么用 java把他们提取到一个字符串中?要具体实现的方法,不用正则最好了。
我尝试了按行读,然后生成了个string然后用substring最多提取一个,求解。一个如此简单的程序一忙活一天,有人给点拨一下么?

        /**
 * 输入文档读取内容,取出内容中<TEXT></TEXT>所包含的内容
 * @param str
 * @return
 */
public String getTextNode(String str) {
// 定义返回值装载器
StringBuffer sb = new StringBuffer();
// 先用<TEXT>对str分组,即从str得到一个字符串数组,以<TEXT>为分界点
String[] texts = str.split("<TEXT>");
// 循环取值
for (int i = 0; i < texts.length; i ++) {
String temp = texts[i];
// 如果数组元素中包含</TEXT>则对其再次分组,并取第0个元素,因为用<TEXT>分组后,紧接着的是要得到的内容和</TEXT>
if (temp.contains("</TEXT>")) {
sb.append(temp.split("</TEXT>")[0]);
}
}
return sb.toString();
}

追问

The method append(String) is undefined for the type String
还有个问题 append肿么回事

追答

我这里木有问题呀,你能截个图不

追问

我这个要从硬盘读文件每个文件中有好几个TEXT,并且文件append显示的就是我上条回复的错误,未定义吧?

追答

我代码里有个StringBuffer,你把s定义成StringBuffer,然后下文用到s的地方用s.toString()代替;
String s = ""; 改为StringBuffer s = new StringBuffer();
因为String是没有append方法的;
Java中String变量之间的+的实现其实就是StringBuffer的append方法,你看源码就知道了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-03
可以使用正则匹配抽取出来
相似回答
大家正在搜