java 取 特定字符后,JAVA读取资料中特定字符串后面的值

JAVA读取文件中特定字符串后面的值

各位高手,我有一个文本文件,格式基本上是这样的:

[Term]

id: MI:0491

name: in silico

def: "Results generated by predictive bioinformatics approaches rather than experimental data.\nOBSOLETE as a full host organisms description is recommended using tax id == -1 as convention to refer to 'in vitro' interaction." [PMID:14755292]

related_synonym: "Predictive" []

is_obsolete: true

[Term]

id: MI:0489

name: source database

def: "Database that orignally provided the interaction record for exchange purposes." [PMID:14755292]

is_a: MI:0444 ! database citation

希望从这个文本文件中查找到每个[Term]中各个变量值如:得到name的值in silico,并将每个[Term]的各个变量记录下来

------最佳解决方案--------------------

测试文件同上;

import java.util.*;

import java.io.*;

public class Test2

{

public static void main(String[] args) throws Exception{

BufferedReader br = null;

boolean start = false;

int num = 0;

List array = new ArrayList();

try{

br = new BufferedReader(new FileReader("test.txt"));

String s = null;

while((s = br.readLine().trim()) != null){

if(s.equals("[Term]")){

num++;

start = true;

}else if(num%2==0){

start =false;

num = 0;

}else if(start){

String[] str = s.split(":",2);

array.add(str[0]);

System.out.println(s);

//6楼能不能说下结果阈值的具体用法,是否表示分成两段

//我对API例子中的其它数值不大理解。

}

}

br.close();

}catch(Exception e){

}finally{

for(int i=0;i

System.out.print(array.get(i) + ",");

}

}

}

------其他解决方案--------------------

换成proerties,或者xml文件,读取方便

------其他解决方案--------------------

需要知道 Term 中一共有多少个属性?

------其他解决方案--------------------

一行一行读取 然后以“:”分割字符串 分割后前面的作为key后面的作为value 放到map里面

遇到下一个term的时候 把map放到list里面

------其他解决方案--------------------

id: MI:0489

name: source database

def: "Database that orignally provided the interaction record for exchange purposes." [PMID:14755292]

is_a: MI:0444 ! database citation

你是说要得到id,name,def,purposes这几个后面的内容吗?

------其他解决方案--------------------

(\w+):\"(\w+)\"[((\w+):(\w+))]

------其他解决方案--------------------

顶引用:需要知道 Term 中一共有多少个属性?

------其他解决方案--------------------

二楼能对读取和分割字符串给出详细的代码吗

------其他解决方案--------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值