修剪方法问题?

时间:2015-02-26 18:49:45

标签: java string trim

所以我试图根据字符串的长度验证用户输入。

String v=scan.next();
v=v.trim();

因此,如果输入是" 0 1 2 3"结果字符串是0123对吗?由于某种原因,它返回了第一个指数的价值并切断了其余部分,我不知道为什么。

1 个答案:

答案 0 :(得分:4)

  

因此,如果输入是" 0 1 2 3"结果字符串是0123对吗?

trim()方法删除前导尾随空格(意思是字符串的开头和结尾),而不是中间的那些空格。字符串。

如果你想删除所有类型的空格(如空格和标签)任何地方,你应该使用:

v = v.replaceAll("\\s+", "");

(+不是必需的,顺便说一句,但它的表现与没有不同。首选" \ s"如果你没有连续多个空格。)

如果您只想删除空格字符,因为您解析了非常具体的输入,请使用:

v = v.replace(" ", "");
  

出于某种原因,它返回了第一个索引的值并切断了其余部分,我不知道为什么。

您的问题在于您只使用scan.next()来获取您的意见。它返回下一个标记,而不是整行的用户输入。如果您想要整行,请改用以下内容:

String v = scan.nextLine()