提问者:小点点

删除串联字符串Javascript


我正在使用Twitter API,我试图只获得一条tweet及其链接的第一条新闻。如果我console.logTweetNews,我将得到如下示例:

 {
    text: 'exampletext. \n' +
      '\n' +
      'exampletext. \n' +
      '\n' +
      'https://examplelink',
    href: 'https://examplelink
  },

我只想获得text的第一个字符串,同时删除text中的链接。下面是我的其余代码:

module.exports.filterTweets = (parsedArray) => {
    
    const filteredTweets = parsedArray.filter(
        (tweet) => tweet.entities.urls.length === 1
    );
    
    
    const tweetNews = filteredTweets.map((x) => {
        return { text: x.full_text, href: x.entities.urls[0].url };
    });
    
    console.log("tweetNews", tweetNews);
    return tweetNews;
};

共1个答案

匿名用户

我不确定我会100%的满足你的要求,但这应该会让你走上你的路。这显示了如何获取字符串的第一部分(直到第一个换行符),以及如何删除(HTTP/HTTPS)URL:

function cleanInput(input){
 let firstLine = input.split(/\s+\n\s+/)[0]
 //this regex is overly simplistic, just for demo purposes
 //see more complete example at https://stackoverflow.com/a/3809435/57624
 let withoutURL = firstLine.replace (/http[s]?:\/\/[a-z./]+/i, '');
 return withoutURL
}

let sampleData1 = {
    text: 'exampletext. \n' +
      '\n' +
      'exampletext. \n' +
      '\n' +
      'https://examplelink',
    href: 'https://examplelink'
    };
  
let sampleResult1 = cleanInput(sampleData1.text)
console.log("result 1: " + sampleResult1)

let sampleData2 = {
    text: 'A URL: https://examplelink.com \n' +
      '\n' +
      'exampletext. \n' +
      '\n' +
      'more',
    href: 'https://examplelink'
    };
  
let sampleResult2 = cleanInput(sampleData2.text)
console.log("result 2: " + sampleResult2)