我正在遍历字符串的每个字符,并尝试识别找到的每个换行符。
这样做:
csv_data: string; //It is of format .csv -> "toto;tata;titi\nhey;hello;hi" for example
for(var i=0; i<csv_data.length; i++) {
if(csv_data[i] == '\\') //Assuming I will only have \ character for \n
console.log("New line found! backslash");
//I tried also that
if(csv_data[i] == '\n')
console.log("New line found! backslash plus n");
}
我知道我的字符串中有\n
,因为执行完csv_data.split('\n')
之后,它将返回数组中的所有行。
当我尝试逐个字符打印时,它会打印一个空白字符,该字符应为\n
有什么想法吗?
编辑:这是缓存问题if(csv_data[i] == '\n')
起作用了。
答案 0 :(得分:3)
似乎您正在混合使用'\ n'和一个反斜杠字符,其中\\ n是一个换行符,后跟n
。
如果CSV文件中确实包含换行符,则第一个测试(== '\\'
)将永远找不到它们,因为文件中没有反斜杠。
如果您有换行符,使用反斜杠后跟n
,则第二个测试(== '\n'
)将永远找不到它们,因为它正在搜索真正的换行符。