javascript - 从文本正文中获取字符串的行号

标签 javascript string character substring line-breaks

假设我有一个包含两行的文件,我得到了文件中的 indexOf 子字符串。它以 18 返回子字符串所在的字符。我如何找到包含此信息的行?

var file = [
  'var foo = "hello"',
  'console.log(foo)',
].join('\n')

var char = file.indexOf('console') // => 18
var line = lineOfChar(file, char) // => 2

最佳答案

实现此目的的一种可能方法是像您所做的那样找到字符串:

var index = file.indexOf('console'); // => 18

然后使用这个索引创建一个包含该索引之前的所有内容的子字符串:

var tempString = str.substring(0, index);

最后我们计算 \n 的出现次数:

var lineNumber = tempString.split('\n').length;
// You should do - 1 if you want your 'first' line to be 0

关于javascript - 从文本正文中获取字符串的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32017166/

相关文章:

c - 将字符数组用作整数

c++ - 无法理解 C++ 行

javascript - 在客户端防止 XSS(纯 Javascript)

javascript - 将输入文本附加到输入值

c++ - 我有一个 .csv 文件,想将其转换为 C++ 中的数组

java - Java 中的链接字符串

linux less命令搜索不可见字符

c - 如何在 C 中发送 ctrl+z

javascript - 如何从字符串构建 Array.filter 谓词

javascript - 检测元素高度变化并在太小时隐藏