gpt4 book ai didi

javascript - 为什么子字符串函数不返回换行符(\n)

转载 作者:行者123 更新时间:2023-11-30 08:03:58 25 4
gpt4 key购买 nike

我试图使用子字符串查找字符串的前 2 个字符是否包含换行符,但出于某种原因我是预期的结果。

var xyz= '\n\nsomething';
if(xyz.substring(0,2)=='\n'){
alert('found'); //expected result
}else{
alert('not found'); //actual result
}

但是如果我为此使用正则表达式,那么我会得到正确的结果。

var xyz= '\n\nsomething';
if(xyz.substring(0,2).match(/\n/)){
alert('found'); //actual result and this is correct
}else{
alert('not found');
}

为什么使用substring函数没有得到结果?

最佳答案

你从 xyz.substring(0, 2) 得到的字符串不是 "\n" 而是 "\n\n".

当您使用转义序列 \n 时,它将作为字符串中的单个字符结束,而不是单独的字符 \n.

如果要查找第一个字符,请使用 1 作为长度:

if (xyz.substring(0,1) == '\n') {

如果要匹配前两个字符,请将两个字符放入字符串中:

if (xyz.substring(0,2) == '\n\n') {

关于javascript - 为什么子字符串函数不返回换行符(\n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262800/

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