我有一个字符串,其中可能包含换行符“\n”。现在我想在该字符串中的每4个字符(或N个字符)后插入换行符“\n”。
例如:
1) 输入:“I am John Doe.” 输出:“I am\nJohn\nDoe” 在上面的示例中,将在包括空格在内的4个字符后插入“\n”
2) 输入:“I\nam John Doe” 输出:“I\nam J\nohn \nDoe” 在上面的示例中,在第一个已存在于字符串中的“\n”后,将在4个字符后插入空格
3) 输入:12345\n67890 输出:1234\n5\n6789\n0
4) 输入:“1234\n56\n78901” 输出:“1234\n56\n7890\n1”
到目前为止,我已经创建了一个函数,它在每4个字符之后插入“\n”,但如果原始字符串中已经存在“\n”,则不考虑它。
我在每次按键时调用此函数,并传递原始字符串以获取输出并进一步使用它。我希望你理解我在这里想说的意思。它应该保留先前插入的换行符。
如果需要,我可以提供更多示例来解释。
例如:
1) 输入:“I am John Doe.” 输出:“I am\nJohn\nDoe” 在上面的示例中,将在包括空格在内的4个字符后插入“\n”
2) 输入:“I\nam John Doe” 输出:“I\nam J\nohn \nDoe” 在上面的示例中,在第一个已存在于字符串中的“\n”后,将在4个字符后插入空格
3) 输入:12345\n67890 输出:1234\n5\n6789\n0
4) 输入:“1234\n56\n78901” 输出:“1234\n56\n7890\n1”
到目前为止,我已经创建了一个函数,它在每4个字符之后插入“\n”,但如果原始字符串中已经存在“\n”,则不考虑它。
function addNewlines(str) {
if (str.length >= 4) {
var result = '';
while (str.length > 0) {
result += str.substring(0, 4) + '\n';
str = str.substring(4);
}
return result;
}
return str;
}
我在每次按键时调用此函数,并传递原始字符串以获取输出并进一步使用它。我希望你理解我在这里想说的意思。它应该保留先前插入的换行符。
如果需要,我可以提供更多示例来解释。
\n
字符周围加上 * 很令人困惑,请确保输入和输出正好是您需要的字符串。 - HBP\n
吗?那么这个字符串应该转换成什么样子:'ABCD\nEFGH\nIJKL' - 是简单地保留现有的换行符,还是添加额外的换行符?我们所有人都在猜测的原因是你没有编写完整的规范。你需要解释每个边缘情况下想要什么,并提供输入和输出的全面列表。 - Michael Geary