我正在使用Twitter API,我试图只获得一条tweet及其链接的第一条新闻。如果我console.log
TweetNews
,我将得到如下示例:
{
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;
};
我不确定我会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)