如何查看字符串中是否以特定方式分隔两个字符?

时间:2014-02-26 01:39:31

标签: javascript string charat

我在javascript中对coderbyte进行编码挑战。这是一个问题: 使用JavaScript语言,让函数ABCheck(str)传递str参数并返回字符串true如果字符a和b在字符串中的任何位置恰好分开3个位置至少一次(即“lane borrowed”会结果为true,因为a和b之间恰好有三个字符。否则返回字符串false。

这是我提出的答案,但不起作用。我无法弄清楚为什么......在很多答案中,人们正在将字符串转换为数组但是有没有办法用.charAt()做到这一点?谢谢!

function ABCheck(str) {
    for (var i=0; i < str.length-4; i++){
        if ((str.charAt(i) == "a") && (str.charAt(i+4) == "b")){
            return true;
        }
    }
};

我已经纠正了字符串vs str mixup和str.length之后的“-4”。我仍然遇到以下情况的问题。 “在它之后”,“aaaaddddd”和“123advb。它们都应该是假的。我该怎么做?再次感谢。

2 个答案:

答案 0 :(得分:0)

这似乎有点好,你只是有一个错字:

string.charAt(i+4)应为str.charAt(i+4)

小提琴:http://jsfiddle.net/chucknelson/UE5rS/

答案 1 :(得分:0)

是的,你也可以使用正则表达式。这假设b始终遵循a。

function ABCheck(str)
{
    return str.match(/a...b/g) != null;
}