javascript - 有没有办法删除数组中字符串中的换行符?

标签 javascript arrays reactjs regex

我正在尝试使用 Javascript 给定一个带连字符的字符串来解析一个数组。

- foo
- bar

我已经非常接近弄清楚了。我已将其缩减为使用此代码获取两个项目的位置。

 const chunks = input.split(/\ ?\-\ ?/);
 chunks = chunks.slice(1);

这会将之前的输入缩减为这个。

["foo\n", "bar"]

无论数组中的项数如何,我都尝试了很多解决方案来从字符串中获取换行符,但没有任何效果。如果有人能帮我解决这个问题,我将不胜感激。

最佳答案

例如,您可以拆分、删除所有空条目,然后 trim 每个项目以删除所有前导和尾随空白字符,包括换行符。

请注意,您不必转义空格和连字符。

const input = `- foo
- bar`;
const chunks = input.split(/ ?- ?/)
  .filter(Boolean)
  .map(s => s.trim());

console.log(chunks);

或者同样的方法只删除换行符:

const input = `- foo
- bar`;
const chunks = input.split(/ ?- ?/)
  .filter(Boolean)
  .map(s => s.replace(/\r?\n|\r/g, ''));

console.log(chunks);

除了拆分,您还可以使用带有捕获组的匹配:

^ ?- ?(.*)

模式匹配:

  • ^ 字符串开始
  • ?- ? 在可选空格之间匹配 -
  • (.*) 捕获组 1,匹配行的其余部分

const input = `- foo
- bar`;
const chunks = Array.from(input.matchAll(/^ ?- ?(.*)/gm), m => m[1]);
console.log(chunks);

关于javascript - 有没有办法删除数组中字符串中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70425574/

相关文章:

javascript - 遍历数组并计算数组部分的平均值

reactjs - PanResponder 限制父容器 View

javascript - 遍历数组并分割值

javascript - 函数引用未定义的本地对象React

javascript - jQuery 持久非事件绑定(bind)

javascript - jQuery 值属性选择器未返回正确数量的元素

javascript - Mongodb 对每个文档数组中的所有相同字段求和 - Map-Reduce

javascript - OpenLayers - 样式标签忽略加号

javascript - AngularJS:ng-model 没有在 UI 中更新

c - 仅使用一些字符串操作和 <stdio.h> 进行加密