2013-03-14 64 views
-1

我有這樣的字符串n個:在「」與空值,需要獲取字符串後「替換值」

"AC_def" 123 dffgg fdffv , 
"av bgg" 1234 frfvf gfg , 
"av cvc bgg" 1234 frfvf gfg. 

我需要與空值和需要引號替換值之後只有字符串。 我應該如何使用子字符串來做到這一點。

+2

您能澄清您需要的輸出(您期望的實際字符串)嗎? – assylias 2013-03-14 13:02:50

回答

0

這就是你想要的。如果不是,請提供更多細節,如assylias說的!

String data = "\"AC_def\" 123 dffgg fdffv ,"; 
    System.out.println(data); 
    data = data.substring(data.lastIndexOf("\"") + 1); 
    System.out.println(data); 

反正......因爲我在等待的證明......

Scanner scanner = new Scanner(System.in); 
    // input by user... 
    //"AC_def" 123 dffgg fdffv , 
    String data = scanner.nextLine(); 
    System.out.println(data); 
    data = data.substring(data.lastIndexOf("\"") + 1); 
    System.out.println(data); 
+0

好吧......你說的沒有改變輸入,但是它是來自文件或掃描儀對象的輸入。我不認爲我正在改變它,因爲這就是Java String中的原因。請通過提供其他應該的東西來證明我錯了! – cwhsu 2013-03-14 13:18:01

+0

我已經通過msam得到了答案 – user21546 2013-03-14 14:06:32

0

作爲開始:

String str2 = str1.replaceFirst("\\\".*\\\"", "");

編輯: ,如果他們在一個數組您可以隨時循環:

for (int i = 0;i< strarray.length;i++) 
{ 
    strarray[i] = strarray[i].replaceFirst("\\\".*\\\"", ""); 
} 

請注意,您仍將創建新的字符串實例

+0

輸出:在引號中沒有值的子字符串。 示例123 dffgg fdffv – user21546 2013-03-14 13:15:06

+0

對不起,這些值是在數組中,我只需要在數組中替換它.. – user21546 2013-03-14 13:19:59

+0

如果您有第三個引號,這將使其變爲elminate它 - 「abc」def「ghi - > ghi。如果您想要保留第三個引號根據需要修改正則表達式(例如:「\\\」[^ \「] * \\\」「)。它還會在引用abc「def」ghi - > abc ghi之前保留任何字符。因爲我們不知道確切的要求,所以我們只能給予暗示和猜測 – msam 2013-03-14 13:36:11