简体   繁体   English

将字符串拆分为字符数组,并保持一定的顺序在一起(JavaScript)

[英]Split string into array of characters, keep certain sequence together (JavaScript)

I have my string: 我有我的琴弦:

var str = '123\r\nabc';

Which I'd like to produce this array: 我想产生这个数组:

["1", "2", "3", "

", "a", "b", "c"]

So, I'm looking to split it by character, but to keep \\r\\n together as one element in the resulting array. 因此,我希望按字符对其进行拆分,但要将\\r\\n在一起作为结果数组中的一个元素。

My failed attempts: 我失败的尝试:

console.log(str.split(/\r\n|/)); // removes \r\n
console.log(str.split(/\r\n/)); // splits by \r\n

You can't do this with split alone – /(\\r\\n)?/ , for example, would leave undefined s in the result – so you'll need to resort to match instead. 您不能单独使用split来执行此操作-例如, /(\\r\\n)?/会在结果中保留undefined ,因此您需要使用match代替。

var result = str.match(/\r\n|[\S\s]/g);

where [\\S\\s] is . 其中[\\S\\s]. but including newlines. 但包括换行符。 Note that result will be null on an empty string. 请注意,在空字符串上result将为null

You can use this regex in split: 您可以在拆分中使用此正则表达式:

var str = "123\r\nabc";
console.log( str.split(/(\r\n)?/).filter(Boolean) );
  • Capture group around \\r\\n will make sure to capture it in the resulting array. \\r\\n周围的捕获组将确保将其捕获到结果数组中。
  • filter(Boolean) is used to filter out undefined elements from array. filter(Boolean)用于从数组中过滤出未定义的元素。

Output: 输出:

["1", "2", "3", "
↵", "a", "b", "c"]

暂无
暂无

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

相关问题 如何将字符串拆分为字符,但在JavaScript中保留空格 - How to split string into characters but to keep spaces in javascript Word之后的javascript split()字符串,以字符序列开头 - javascript split() string after Word that starts with a sequence of characterS 用 <br> 并限制为Javascript或JQuery中的某些字符? - Split string with <br> and limit to certain number of characters in Javascript or JQuery? 在 Javascript 中的一定数量的字符之后在空格处拆分字符串 - Split string at space after certain number of characters in Javascript 如何将字符串沿着Javascript中的某些字符分成多个字符串 - How to split string into multiple strings along certain characters in Javascript 用javascript中的多个定界符分割方程式字符串,并保留定界符,然后将字符串放回一起 - split equation string by multiple delimiters in javascript and keep delimiters then put string back together Javascript Regex将字符串拆分为分组的/连续的字符数组 - Javascript Regex to split a string into array of grouped/contiguous characters 在Javascript中拆分字符串,但保留定界符/ - Split String in Javascript but keep delimiter / 如何从字符串中拆分某个数字但在该字符串中保留另一个数字仍在 javascript 中 - How to split a certain number from a string but keep another number in that string still in javascript 在javascript中用逗号分割字符串中的字符 - Split characters in a string with a comma in javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM