js如何获取一段文本中两个特殊标点符号之间的内容?

js如何获取一段文本中两个特殊标点符号之间的内容?

问题描述:

比如:一段文字AAAAA,HKHJLKLKL。BBBBBB我们BBBBBB!JKLJKLJLKJ HJ黄金时代分,AAAAAAAAAAAAAAAA。

我首先找到关键词“我们”,然后根据需要获取标点符号‘。’,‘!’中间的那段内容‘BBBBBB我们BBBBBB’。

 代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。

var str = '一段文字AAAAA,HKHJLKLKL。BBBBBB我们BBBBBB!JKLJKLJLKJ HJ黄?金时代分,AAAAAAAAAAAAAAAA。'
var w = "我们";
var str1 = str.match(new RegExp("[^。!?]*"+w+"[^。!?]*","i"))[0];
alert(str1);

    /**
     * 
     * @param s
     * @param start
     * @param end
     * @param keywords 限定词,数组
     */
    function getSub(s, start, end, keywords) {
        var re = new RegExp('\\' + start + '([\\s\\S]+?)' + '\\' + end, 'gi');
        var arr = [], m
        while (m = re.exec(s)) {
            var _s = m[1]; 
            if (keywords) {
                var hit = true;
                for (var v of keywords) if (_s.indexOf(v) == -1) { hit = false; break; }
                if (hit) arr.push(_s);
            }
            else arr.push(_s)
        }

        return arr
    }
    var s = '一段文字AAAAA,HKHJLKLKL。BBBBBB我们BBBBBB!JKLJKLJLKJ HJ。黄金时代分,AAAAAAAAAAAAAAAA!'
    alert(getSub(s, '。', '!').join('\n'))
    alert(getSub(s, '。', '!', ['我们']).join('\n'))

用indexOf返回下标

之后 substring

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632