2014-03-03 74 views
1
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再次得到一個小門,他已經打破了......」意思是,上述程序不會顯示如上輸出..如何識別條件後的空間檢查條件的空間

+1

您提供的例子導致你想,但你並沒有解釋什麼是你的程序的目的...我可以給你檢索這些字符串混得位置X的文字,仍然遵守的解決方案是什麼你請求... – AlfaTeK

回答

0
  • 你必須找到第一次發生的「到」。全部在the first string之前。所有之後,我們繼續前進:
  • 您必須找到「,」的第一個和第二個發生,從而將剩餘的字符串分爲三部分:在第一個「之前」,「之間」,「」, 「和第二個」之後「,」。
  • 第一部分變爲the second string
  • 第二部分變爲the third string
  • 第三部分變爲the fourth string
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]); 
+2

+1 - 如果在readLine()後添加了'news = news.replace(「,」,「」);並用'.split(「)替換了'.split(」「);' 「,6);」這幾乎就是他們所要求的。如果你對它很滿意,我會把它編輯成你的答案。 –

+2

@Rudi克肖好工作 –