繁体   English   中英

奇怪的 String.split("\\n") 行为

[英]Strange String.split("\n") behavior

我有一个 .txt 文本文件,其中包含一些行。我使用 RequestBuilder 对象加载包含,并使用 words = String.split("\\n"); 拆分 responseText; 但我想知道,为什么结果包含“\\n”部分。例如,我的文字:

abc
def
ghi

结果是,

words[0] = "abc\n"
words[1] = "def\n"
words[2] = "ghi\n"

任何帮助都受到高度赞赏。 提前致谢。

尝试使用string.split("\\\\n+") 甚至更好split("[\\\\r\\\\n]+")

Windows回车符( "\\r\\n" )不会对结果产生明显的影响,也不必转义传递给String.split()的正则表达式。

这是使用str.split("\\n")证明上述两种情况的方法: http : str.split("\\n")

如果您确实有Windows回车符,则应该(尽管绝对没有必要)使用str.split("\\r\\n")http : str.split("\\r\\n")

您可能还需要考虑String[] lines = text.split("\\\\\\\\n");

如果split使用正则表达式,则应使用“ \\\\ n”而不是“ \\ n”

尝试使用string.split("\\\\\\\\n") 这个对我有用。

也许这很简单,但是 .split 方法对空格和文本中断很敏感。 如果我们不知道原文是如何写的,我们必须考虑这可能会产生一些差异(单行、中断、多行等)。

单行文字:

const inlineText = "Hello world!";
console.log(inlineText.split(' ')) //['Hello', 'world!']

多行文字:

const multilinesText = `
Hello world!
`
console.log(multilinesText.split(' ')) // ['\nHello', 'world!', '\n']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM