字符串中是否存在\ n的打字稿

时间:2018-09-24 10:02:59

标签: javascript typescript

我正在遍历字符串的每个字符,并尝试识别找到的每个换行符。

这样做:

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')起作用了。

1 个答案:

答案 0 :(得分:3)

似乎您正在混合使用'\ n'和一个反斜杠字符,其中\\ n是一个换行符,后跟n

如果CSV文件中确实包含换行符,则第一个测试(== '\\')将永远找不到它们,因为文件中没有反斜杠。

如果您有换行符,使用反斜杠后跟n,则第二个测试(== '\n')将永远找不到它们,因为它正在搜索真正的换行符。