2017-03-06 101 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); 
}