换行后如何获取文本? Java脚本

时间:2019-02-11 04:42:04

标签: javascript

我需要在换行符到终点之后获取文本,如以下示例所示:

function getDataFromAjax(){
    $('#corporateComboOfAllCorpTag').change(function () {
    $('#tableOfAllCorpTag').DataTable().destroy();
    let corpParkStationTable=$('#tableOfAllCorpTag').DataTable({order:[]});
    corpParkStationTable.clear();
    let corpStations=[];
    function getPagewiseData(pageNum){
     $.ajax({
            url:corporateTagUrl + corporates[$('#corporateComboOfAllCorpTag').prop('selectedIndex')].corporateId,
            method:"GET",
            data:{
                size:1000,
                page:pageNum
            },

            dataType:"json",
            headers: { 'smart-session-key': sessionKey, 'userName': admin},
            async:true,
            success:function (resp) {

                for (let i = 0; i < resp.content.length; i++) {

                    corpParkStationTable.row.add($(
                        '<tr><td>'+resp.content[i].tagSerial+'</td><td>'+resp.content[i].tagUid+'</td><td>'+resp.content[i].status+'</td><td>'+resp.content[i].addedBy+'</td><td>'+resp.content[i].addedDate+'</td><td><button class="btn btn-info">More</button></td></tr>'
                    )).draw(false);

                    corpStations.push(resp.content[i]);
                }

                response=resp.numberOfElements;
                if(resp.numberOfElements>0){
                    getPagewiseData(pageNum+1)
                }

            },

            error:function (resp) {
                console.log("Fail "+resp);
            }

        });
    }
    getPageWiseData(0);
}
getDataFromAjax();

只要没有换行符,我就可以这样做,但是如果包含换行符,我不知道该怎么做。这是我的代码:

PRODUCT:
Product detail.

3 个答案:

答案 0 :(得分:1)

而不是使用\s来匹配空格字符,而是匹配换行符\n

您可以.split() product以及换行符\n.pop()的结果数组中获取最后一个元素。或使用括号表示法获取索引为1 [1]的元素以获取数组中的第二个元素

const text = `PRODUCT:
Product detail.`;

const product = 'PRODUCT:';

let resultProduct = text.split(new RegExp(`${product}\\n`))[1];

console.log(resultProduct);

或者,您可以将product,换行符和换行符或换行符匹配到末尾,然后将元素放在结果数组的索引0

const text = `PRODUCT:
Product detail.`;

const product = "PRODUCT";
    
let resultProduct = text.match(new RegExp(`${product}\\n|.+$`, 'g'))[0];

console.log(resultProduct);

答案 1 :(得分:1)

如果两行之间的字符是一个简单的换行符(\ n),那么您应该可以使用:

let resultProduct = text.match(new RegExp(product + '\\n(.*$)','i'))[1]

否则,如果行之间包含换行符(\ r)和回车符(\ n),则以下方法可以更好地解决这种情况:

let resultProduct = text.match(new RegExp(product + '(?:\\n|\\r)+(.*$)','i'))[1]

答案 2 :(得分:0)

尝试这样的事情怎么样?  var left_text = input_string.substring(input_string.indexOf("\n")+1);  在这里检查: https://jsfiddle.net/gzqu4fy9/