java - 用反斜杠替换 Java 字符串中的空格

标签 java string

如何用反斜杠替换java字符串中的空格字符?

我尝试过这个:

String text = " 1 2 3 4 5 6 7 8 9 10";
text = text.replace(" ","\\");
System.out.println(text2);

但看看 eclipse 调试变量的结果:

text 1 2 3 4 5 6 7 8 9 10
text2 \\1\\2\\3\\4\\5\\6\\7\\8\\9\\10

但在我的日志中结果不同:

07-18 14:56:31.049: I/System.out(9177): \1\2\3\4\5\6\7\8\9\10

我想将它与 smb 命令一起使用,以允许目录文件名中包含空格。当我在代码中手动设置该命令时,该命令有效。结果应该是这样的:

source : smb://192.168.0.254/Disque dur/
text = text.replace(" ","\040");
result : smb://192.168.0.254/Disque\040dur/

但是当我使用replace()方法时有双反斜杠...

result : smb://192.168.0.254/Disque\\040dur/

07-18 15:15:10.439: E/Home(9538): jcifs.smb.SmbException: The network name cannot be found.

感谢帮助

最佳答案

这样做:

String text = " 1 2 3 4 5 6 7 8 9 10";
text = text.replace(" ","\\\\");
System.out.println(text2);

前面带有反斜杠 (\) 的字符是转义序列,对编译器具有特殊含义。 '\\' 在此时在文本中插入反斜杠字符。

您可以在这里阅读更多信息:http://docs.oracle.com/javase/tutorial/java/data/characters.html

关于java - 用反斜杠替换 Java 字符串中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17724714/

相关文章:

java - 如何将包含文本的 HTML 页面转换为 JSON

sql - 更新和替换字符串的一部分

java - 在 Seam 3/Hibernate 中对实体的更改不会刷新到 DB

java - 将唯一的文件扩展名扫描到变量中

java - 退出Java并行流工作程序线程后的内存一致性

string - Pandas 系列 str 链接在一起时替换不起作用

JAVA:分割字符串以获得 double 值

java - 如何将这些放入 Java GUI 中

java - IntelliJ - Debug模式 - 在程序内存中搜索文本

html - 将 HTML 代码块添加到 Lua 中的字符串(concat)