如何在字符串中查找子字符串并返回一个包含子字符串周围多个字符的新字符串 - Javascript

时间:2013-08-28 10:13:05

标签: javascript string

首先,我是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"

1 个答案:

答案 0 :(得分: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个字符将在文本开始之前或之后添加n字符(我的函数在这两种情况下修剪了返回的文本。)