Javascript 按空格分割字符串,但不按换行符中的空格分割,并保留换行符
我有这样一个字符串:Javascript 按空格分割字符串,但不按换行符中的空格分割,并保留换行符,javascript,regex,Javascript,Regex,我有这样一个字符串: "word1 word2 \ngroup of words\n" [ "word1", "word2", "\ngroup of words\n" ] 我需要将它按空格分割,2\n之间的空格除外,并保留\n字符。因此,结果将是这样一个数组: "word1 word2 \ngroup of words\n" [ "word1", "
"word1 word2 \ngroup of words\n"
[
"word1",
"word2",
"\ngroup of words\n"
]
我需要将它按空格分割,2\n
之间的空格除外,并保留\n
字符。因此,结果将是这样一个数组:
"word1 word2 \ngroup of words\n"
[
"word1",
"word2",
"\ngroup of words\n"
]
我发现使用,
而不是\n
可以获得相同的结果,但是我不可能用任何其他字符替换它
我目前正在使用下面的代码,但它没有保留\n
input.split('\n').flatMap((s,i)=>i%2?`\n${s.trim()}\n`:s.trim().split(' ')).filter(v=>v)
注:
如果输入字符串在\n
之前有单词,那么它前面总会有一个空格,即字符串可以包含word1\n组1\n
,但不能包含word1\n组1\n
一个字符串还可以包含多个组,如您可以使用的word1\n组1\n word2\n组2\n
const text=“word1 word2\n一组单词\n”;
console.log(text.match(/\n.*\n|\S+/g))