gpt4 book ai didi

javascript - 检测换行类型

转载 作者:搜寻专家 更新时间:2023-10-31 23:41:43 24 4
gpt4 key购买 nike

在 JavaScript 中确定文本中使用的换行符类型的最有效(足够快速和可靠)的方法是什么 - Unix 与 Windows。

在我的 Node 应用程序中,我必须读取大型 utf-8 文本文件,然后根据它们是使用 Unix 还是 Windows 换行符来处理它们。

当不确定换行符的类型时,我想根据最有可能的换行符来得出结论。

更新

根据我自己在下面的回答,code I ended up using .

最佳答案

谢谢@Sam-Graham .我试图产生一种优化的方式。此外,该函数的输出可直接使用(参见下面的示例):

function getLineBreakChar(string) {
const indexOfLF = string.indexOf('\n', 1) // No need to check first-character

if (indexOfLF === -1) {
if (string.indexOf('\r') !== -1) return '\r'

return '\n'
}

if (string[indexOfLF - 1] === '\r') return '\r\n'

return '\n'
}

注意 1:假定 string 是健康的(仅包含一种类型的换行符)。

注意 2:假设您希望 LF 为默认编码(当未找到换行符时)。


使用示例:

fs.writeFileSync(filePath,
string.substring(0, a) +
getLineBreakChar(string) +
string.substring(b)
);

这个实用程序也可能有用:

const getLineBreakName = (lineBreakChar) =>
lineBreakChar === '\n' ? 'LF' : lineBreakChar === '\r' ? 'CR' : 'CRLF'

关于javascript - 检测换行类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34820267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com