java删除空格也就是删除空格后面的所有内容
为什么java删除空格也就是删除空格后面的所有内容,java,string,replaceall,Java,String,Replaceall,为什么x.replaceAll(“\\s+”,“”)正在删除第一个空格及其后的所有内容?如果在执行replaceAll()并打印x之后x最初是a,则它只打印a而不是aa 这是一个更大项目的一部分,但出于测试目的,我在一个新的java主文件上单独尝试了它,但仍然执行相同的操作这是完整的程序: import java.util.*; public class test { public static void main (String args[]){ Scanner inp
x.replaceAll(“\\s+”,“”)
正在删除第一个空格及其后的所有内容?如果在执行replaceAll()
并打印x
之后x
最初是a
,则它只打印a
而不是aa
这是一个更大项目的一部分,但出于测试目的,我在一个新的java主文件上单独尝试了它,但仍然执行相同的操作这是完整的程序:
import java.util.*;
public class test {
public static void main (String args[]){
Scanner input = new Scanner(System.in);
String y = input.next();
String x = y.replaceAll("\\s+","");
System.out.println(x);
}
}
嗯。试试这个:
public static void main (String[] args) throws java.lang.Exception
{
Scanner input = new Scanner(System.in);
String y = input.nextLine();
String x = y.replaceAll("\\s+","");
System.out.println(x);
}
使用nextLine获取整个字符串。默认情况下,扫描仪使用一个或多个空格作为分隔符,
next()
在分隔符之间只返回一个标记。因此,在像foo bar baz
next()
这样的输入情况下,另一次调用next()
将返回baz
和另一次调用baz
如果您想阅读整行,请使用
nextLine()
but 我刚试过,我得到了aa。请发布一个。刚刚编辑的问题。我想我自己找到了答案。我应该做下一行()而不是下一行(),对吗?是的。这就是问题所在。下次,为了更好更快的帮助,请先发布一个MCVE。此外,您还可以使用调试器帮助解决代码中的问题。为什么不使用String.replace(“,”)?这将在不使用正则表达式的情况下得到所需的结果。这只是建议OP提供更多细节的评论。@j.doe,编辑带a和打印aa的代码