-4

首先,我是 javascript 新手。

我的问题:

假设我有一个这样的字符串

var str = "John Doe in the name used for people with no identity";

我需要一个带有 3 个参数的函数,例如

pullSubstring(text, string, number)

它将返回一个像这样的新字符串

*length of the number in strings* + string + *length of the number in strings*

更具体地说,这里有一个例子:

如果我这样调用函数

pullSubstring("for", "John Doe in the name used for people with no identity", 5)

结果会是这样"used for peop"

4

1 回答 1

0

您可以使用此功能:

function pullSubstring(searched,text,bordersLenght) {
    var idx = text.indexOf(searched);
    if (idx == -1 )
        return "";

    var startFrom = idx-bordersLenght;
    var endAt = idx + bordersLenght + searched.length;

    if (startFrom < 0)
        startFrom=0;

    if (endAt > text.length-1)
        endAt = text.length-1;

    return text.substring(startFrom,endAt);

}

您必须选择在未找到搜索字符串时返回的内容(我的函数返回一个空字符串),或者在找到的文本之前或之后添加 n 个字符时将带您在文本开始之前或结束之后(我的函数 trim在这两种情况下返回的文本)。

于 2013-08-28T10:30:54.173 回答