javascript - 如何根据索引获取由两个新行分隔的字符串?

标签 javascript arrays indexing newline

假设您有字符串:

Apple Banana Pear
Pineapple Grapefruit Kiwi
Lime Lemon Cherry

如果我想要这条线

Pineapple Grapefruit Kiwi

如何使用第二行的任何索引并找到索引之前的换行符和索引之后的换行符来获取这一行?

我尝试过这样做:

fruits[0].slice(fruits[0].indexOf("\n"),fruits[0]
                       .indexOf("\n", fruits[0].indexOf("\n") + 1))

但它不使用索引,而是只使用第二行。有点像获得第二行的强力解决方案。

最佳答案

一种选择是按换行符分割字符串并选择[1]第一个索引 - 即第二行:

const fruits = `Apple Banana Pear
Pineapple Grapefruit Kiwi
Lime Lemon Cherry`;
const [,mid] = fruits.split('\n');
console.log(mid);

或者,如果您不想创建中间数组,可以匹配一个 \n 之后和另一个 \n 之前的子字符串:

const fruits = `Apple Banana Pear
Pineapple Grapefruit Kiwi
Lime Lemon Cherry`;
console.log(fruits.match(/\n([^\n]+)\n/)[1]);

关于javascript - 如何根据索引获取由两个新行分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350993/

相关文章:

MySQL - 索引在登台服务器上工作,但在生产服务器上不起作用

mysql - MySql 表中的重复索引

node.js - 如何在生产模式下索引 Mongoose 字段,为什么要禁用自动索引功能?

java - 将数组列表中的随机项目放入 JLabel

javascript - 我应该总是将函数绑定(bind)到 $scope 对象吗?

javascript - 如果我的选择器中的字符串放置是随机的,我如何让 jQuery 找到该元素?

javascript - 使用自定义参数触发 JavaScript 事件并使用 jQuery 捕获它

javascript - jquery isotope 插件容器高度不会随着 isotope-item 增长(与 masonry 相同)

c - 函数内动态重新分配 - C

php - 如何连接两个数组键?