如何读取奇数位置字

时间:2014-03-03 10:46:08

标签: java string bufferedreader inputstreamreader

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Example {

public static void main(String[] args) throws IOException 
{
File fis=new File("D:/Testcode/Test.txt");
BufferedReader br;
String input;
String var = null;
if(fis.isAbsolute())
{
br=new BufferedReader(new FileReader(fis.getAbsolutePath()));
while ((input=br.readLine())!=null) {
var=input;
}
}   
//String var="Duminy to Warner, OUT, Duminy gets a wicket again. He has been breaking...
if(var!=null)
{
String splitstr[]=var.split(",");
if(splitstr[0].contains("to"))
{
String ss=splitstr[0];
String a[]=ss.split("\\s+");
int value=splitstr[0].indexOf("to");
System.out.println("Subject:"+splitstr[0].substring(0,value));
System.out.println("Object:"+splitstr[0].substring(value+2));
System.out.println("Event:"+splitstr[1]);
int count=var.indexOf(splitstr[2]);
System.out.println("Narrated Information:"+var.substring(count));
}   
}
}
}

以上程序显示以下输出: 主题:DUMINY 对象:华纳 事件:OUT 叙述信息:Duminy再次获得一个检票口。他一直在打破......

我的问题是,文字可能包含例子“Dumto to Warner,OUT,Duminy再次得到一个检票口。他一直在打破...”的意思是,上面的程序不会显示上面的输出..如何识别用于检查条件的空格后的文本

2 个答案:

答案 0 :(得分:1)

你可以这样读,但不鼓励这样做。小心。

    File read=new File("D:\\Test.txt");
    BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(read),Charset.forName("UTF-8")));
    String news = reader.readLine();
    news = news.replace(",", "");
    String[] names = news.split(" ", 6);

    System.out.println("First String : "+names[0]+" "+names[1]);
    System.out.println("Second String : "+names[3]);
    System.out.println("Third String : "+names[4]);
    System.out.println("Fourth String : "+names[5]);

答案 1 :(得分:0)

  • 你必须找到“to”的第一个发生。之前都是the first string。所有这些都是我们继续使用的字符串:
  • 你必须找到“,”的第一个和第二个发生,因此将剩下的字符串分为三个部分:在“,”,“之间”和“第二个”,“之后”。
  • 第一部分变为the second string
  • 第二部分变为the third string
  • 第三部分变为the fourth string