Ion*_*zău 6 javascript node.js
如何从Javascript/NodeJS中的字符串中检测CSV分隔符?
哪个是标准算法?
请注意,分隔符始终不是逗号.最常见的分隔符的存在;,,和\t(标签).
Zir*_*rak 13
获取可能的分隔符的可能算法非常简单,并假设数据格式正确:
length.length是不等于最后一行的长度,这不是一个有效的分隔符.概念证明(不处理引用字段):
function guessDelimiters (text, possibleDelimiters) {
return possibleDelimiters.filter(weedOut);
function weedOut (delimiter) {
var cache = -1;
return text.split('\n').every(checkLength);
function checkLength (line) {
if (!line) {
return true;
}
var length = line.split(delimiter).length;
if (cache < 0) {
cache = length;
}
return cache === length && length > 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
该length > 1检查是确保split不只是返回整条生产线.请注意,这会返回一个可能的分隔符数组 - 如果有多个项目,则会出现歧义问题.
| 归档时间: |
|
| 查看次数: |
2896 次 |
| 最近记录: |