在 Java 中将 '\\n' 替换为 ','

新手上路,请多包涵

我想将用户的输入作为 String 并将换行符 \n 替换为 ,

我试过了 :

String test ="s1\ns2\ns3\ns4"; System.out.println(test.replaceAll("\n",","));

输出为 s1、s2、s3、s4

但是当我通过从 UI 获取输入来尝试相同的代码时,它不起作用。

当我调试它时,字符串测试(我硬编码)被视为,

s1

s2

s3

s4

但来自 UI 的字符串是“ s1\ns2\ns3\ns4 ”。

请提出错误的建议。

原文由 Ramya Selvarani 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

\n 是换行符。如果您需要替换后面跟着 n 的实际反斜杠字符,那么您需要使用这个:

 String test ="s1\ns2\ns3\ns4";
System.out.println(test.replaceAll("\\n",","));

更新:

您可以使用 System.lineSeparator(); 代替 \n 字符。

 System.out.println(test.replaceAll(System.lineSeparator(),","));

原文由 anacron 发布,翻译遵循 CC BY-SA 3.0 许可协议

java.util.regex.Pattern 文档 将行终止符指定为:

行终止符是一个或两个字符的序列,用于标记输入字符序列的一行结束。以下内容被识别为行终止符:

一个换行符(换行符)(’\n’),一个紧跟换行符(“\r\n”)的回车符,一个独立的回车符(’\r’),一个下一个 -行字符 (’\u0085’)、行分隔符 (’\u2028’) 或段落分隔符 (’\u2029)。

来自 textarea 的行终止符是 \r\n (CR/LF)。

正则表达式是 [\r\n]+

原文由 Aubin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题