我对一个简单的问题感到很困惑。当我在字符串中使用空格时,String.length方法只计算空格之前的字符串长度,为什么?例如,它返回“ab cdef”的长度2,而它似乎是7!我想知道带空格的字符串长度, 这是我的简单代码:
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("Please Enter Operation: ");
String value = scanner.next();
System.out.println(valuee.length());
}// psv main
另外,如果我想删除字符串中的空格,
String valuee = value.replaceAll("\\s","");
不起作用! 有人可以帮我吗?
最佳答案
扫描器使用分隔符模式将其输入分解为标记,默认情况下与空格匹配。您可以使用 useDelimiter
方法更改分隔符
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("\n"); // use new line as delimiter instead of white space
System.out.println("Please Enter Operation: ");
String value = scanner.next();
System.out.println(value.length());
您甚至可以使用nextLine()
,它默认以新行作为分隔符
关于java - 为什么java代码中的String.length不计算空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53332509/