2017-03-06 103 views
-3

我是Java新手。在Java中使用掃描器打印不含引號內容

我用下面的代碼來從用戶

Class Test 
{ 
    public static void main(String arg[]) 
    { 
     Scanner in=new Scanner(System.in); 
     String s=in.nextLine(); 
     System.out.println(s); 
     in.close(); 
    } 
} 

得到輸入。當用戶輸入:

"HI" 

我想打印爲:

HI 

(沒有雙引號) 請幫忙...

+4

提示:'replaceAll'方法。 –

+0

你的's''對象有方法... – f1sh

+1

@sᴜʀᴇsʜᴀᴛᴛᴀ提示:不要在不需要時使用正則表達式。 '替換'在這裏比這更好。 – Tom

回答

0

您可以使用String x = s.replaceAll("\"", "");刪除雙引號。

+2

'String.replace'可能比'replaceAll'更好,因爲它的第一個參數不被視爲正則表達式。 – SantiBailors

0

如果您使用String.replace*的解決方案,您將替換所有雙引號,即使它們不是第一個也不是最後一個字符。

如果你想確保,只除去前緣和後雙引號,可以確保它們的存在,然後將其刪除:

if (original.startsWith("\"") && original.endsWith("\"")) { 

    String newString = original.substring(1, original.length() - 1); 
}