将 space 数字“ ”替换为另一个

Replace space digit " " to another

我正在寻找将 space 数字替换为另一个数字的解决方案,例如:

"My Example is interesting".replaceAll(" ", "1"); 

没有 return "My1Example1is1interesting",只有 "My"

我也在 Whosebug 上寻找解决方案,但通常会找到 "Removing whitespaces from String/URL.." 等

Scanner s = new Scanner(System.in);
String in = s.next();
in = in.replaceAll("//s+", "1");
System.out.println(in);

您必须将结果分配给另一个变量。

 String s = "My Example is interesting";
 String result = s.replaceAll(" ", "");

这将删除空格。

如果您想用其他文本替换。

String result = s.replaceAll(" ", "My Text");

请记住,String 对象在 Java 中是不可变的,您应该将结果分配给一个新的 String:

String res = "My Example is interesting".replaceAll(" ", "1");

另请注意,因为 String#replaceAll 接受正则表达式作为第一个参数,您可以通过使用 \s+ 来改进正则表达式,这将适用于具有多个或多个空格的字符串:

String res = "My   Example is     interesting".replaceAll("\s+", "1");

更新:发布代码后,问题不在 replaceAll,您应该使用 nextLine instead of next,因为 next 只读取第一个完整的标记。

实际问题在于您读取数据的方式。 Scanner.next() 一次只读一个字。所以如果你打印读取的值,它实际上是 "My"。使用 nextLine() 阅读整行。

print in 并检查它打印的内容。它应该打印 My 即只有一个单词而不是 由 space.

分隔的单词