2013-07-11 188 views
1

我有一些文本文件,我需要讀出雙引號字符串。我試圖用split()方法,但我沒有得到我想要的。例如:引號之間的分隔字符串?

"000ABCD",000,HU,4614.850N,02005.483E,80.0m,5,160,1185.0m,,005,4619.650N,01958.400E,87.0m,1... 

在這個例子中,我只需要字符串000ABCD。有任何想法嗎?

+0

這將幫助你http://developer.android.com/reference/java/util/regex/Pattern.html –

+0

編程101 :-) – Tarik

+0

你可以刪除'''在你使用split之前,你可以使用regexp來刪除它們,所以是的,我們有數百個想法 – user902383

回答

1

試試這個

String str="\"000ABCD\",000,HU,4614.850N,02005.483E,80.0m,5,160,1185.0m,,005,4619.650N,01958.400E,87.0m,1"; 
    Pattern p = Pattern.compile("\"(.*?)\""); 
    Matcher m = p.matcher(str); 
    while (m.find()) {      
     System.out.println(m.group(1)); 
    } 
+0

@MarounMaroun我不明白你的意思,但是這個工作正常 –

3

你可以使用這個表達式:

"\\"(.*?)\\"" 

Pattern pattern = Pattern.compile("\\"(.*?)\\""); 
Matcher matcher = pattern.matcher("\"000ABCD\",000,HU,4614.850N,02005."); 
if (matcher.find()) { 
    System.out.println(matcher.group(1)); 
} 

它會打印:000ABCD。

1
int firstIndex = oldString.indexOf('"'); 
String data = oldString.substring(firstIndex+1, oldString.indexOf('"', firstIndex); 
相關問題