我目前的文本中有“TweetJSONObject\r\n09/19/14TweetJSONObject”,其中 TweetJSONObject 只是 json 格式的推文。现在我正在使用 .split() 函数尝试将推文彼此分开,但似乎\r\n09/19/14 不是合适的分割字符串?这是代码:
String[] value = line.split("\r\n09/19/14");
PrintWriter writer = new PrintWriter("hello.txt", "UTF-8");
writer.println(value[0]);
writer.close();
文本文件“hello”,当我打开它时,它又只是以下字符串,“TweetJSONObject\r\n09/19/14TweetJSONObject”。关于我哪里出错了有什么想法吗?
最佳答案
您需要转义反斜杠:
String[] value = line.split("\\\\r\\\\n09/19/14");
<小时/>
为什么有这么多反斜杠?
在 Java 字符串中,反斜杠是转义字符。文字字符串 "\\"
是一个反斜杠。在正则表达式中,反斜杠也是转义字符。正则表达式 \\
匹配单个反斜杠。所以这个正则表达式作为一个Java字符串,就变成了"\\\\"
。
关于Java split() 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127331/