我在数据库中有一个看起来像这样的字段
abcd.\nefgh
Run Code Online (Sandbox Code Playgroud)
在Java方面,我把它变成一个变量(消息),需要将该变量分成两部分:第一部分和第二部分.
像这样的东西:
message="abcd.\nefgh" ;//This is not what happens ???
first = //Anything before '\n'
second = //Anything after '\n'
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容
if(message.indexOf('\n')>-1){
first = message.substring(0, message.indexOf('\n'));
second = message.substring(message.indexOf('\n')) ;
}
Run Code Online (Sandbox Code Playgroud)
但是,我的代码永远不会进入if语句的主体.我检查了调试器,它显示我的消息变量确实是
abcd.\\nefgh
Run Code Online (Sandbox Code Playgroud)
所以,我尝试使用String.split方法,
String rabit = "Abcd\\nEfgh" ;
System.out.println("Results \n "+ rabit.split("\n")) ; //1
//and alternative
System.out.println("Results \n "+ rabit.split("\\n")) ; //2
Run Code Online (Sandbox Code Playgroud)
但是,这是问题所在.在1和2输出中,我得到一个只有一个元素的数组. - 完整的消息.找不到模式.
那么,任何人都可以提供帮助 - 这里的问题是什么?我的变量消息来自数据库的事实是\n?还有其他建议吗?我该如何解决这个问题?
如果字符串包含文字,\n那么在分隔符正则表达式中需要四个转义字符split:
rabit.split("\\\\n")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |