如何找到字节数组中字符串的行号?

发布于 2025-01-09 13:51:53 字数 492 浏览 0 评论 0原文

我试图找到的内容:

  • 代码文件中的函数定义。

我拥有的信息:

  • 代码文件。
  • 代码文件中函数定义开始位置的字节索引和长度(以字节为单位)。

我应该如何在文件中查找该函数的行号?

我当前的想法:

  • 将代码文件作为字节数组读取
  • 通过使用起始索引和长度在字节数组中查找函数结尾。
  • 将此函数从二进制转换为文本。
  • 将整个代码文件从二进制转换为文本。
  • 对文本中的行进行编号。
  • 模式匹配以查找函数在文本中的位置并返回行号。

我正在使用 Golang 作为后端服务,我相信它会执行此功能。不过我也有一个 JavaScript 前端,如果需要的话我可以利用它来提供帮助。

What I'm trying to find:

  • A function definition within a code file.

Information I have:

  • Code file.
  • The byte index of where the function definition starts in the code file and length in bytes.

How should I go about finding this function's line number in the file?

My current thoughts:

  • Read code file as byte array
  • Find function inside byte array by using start index and length for end.
  • Convert this function from binary to text.
  • Convert whole code file from binary to text.
  • Number the lines in the text.
  • Pattern match to find where the function is in the text and return line number.

I'm using Golang for the back-end service which I believe will execute this functionality. Though I also have a front-end in JavaScript which I can leverage to help if needed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与风相奔跑 2025-01-16 13:51:53

假设文件 p 的内容为 []byte 类型,函数的字节索引为 int i,则 bytes.Count(p[:i], []byte{'\n'}) + 1 返回函数的行号。

Assuming that you have the contents of the file p as type []byte and the byte index of the function as int i, then bytes.Count(p[:i], []byte{'\n'}) + 1 returns the line number for the function.

愚人国度 2025-01-16 13:51:53

像计算换行符这样的东西是否足够好,或者您是否正在研究一些更调整的东西?

您可以开始计算换行符 \n 直到到达字节索引。
行号是换行符的数量。

Would something like counting newline characters be good enough, or are you looking into something more tweaky?

You could just start counting newlines \n until you reach the byte index.
The line number is the number of newline characters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文