node.js - 如何在不同行中的不同表情符号前面获取文本数据
问题描述
我有很多这样的消息,我如何解析消息以获取该行中的相应文本。
例如:- 这里的消息是这样的。
Where do you live?
1️⃣ Bangalore
2️⃣ Mangalore
3️⃣ None of the above
Choose one option 1,2,3.
在这种情况下,我想要的输出应该是具有给定键和值的映射,以便我可以在我的代码中使用它:-
1 -> Bangalore
2 -> Mangalore
3 -> None of the above
更新:- 添加了对我有用的代码。
解决方案
这是我最终用来完成工作的代码。
function isNumEmoji(word) {
var emoji = ['0️⃣', '1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣', '6️⃣', '7️⃣', '8️⃣', '9️⃣'];
for (var i = 0; i < 10; i += 1) {
if (emoji[i] === word) {
return true;
}
}
return false;
}
function getMcqButtonsText(message) {
var mcqButtonText = [];
var sentences = message.split(/\r?\n/);
for (var i = 0; i < sentences.length; i += 1) {
var words = sentences[i].split(' ');
var curSentence = '';
var isEmojiPrev = false;
for (var j = 0; j < words.length; j += 1) {
if (isNumEmoji(words[j])) {
isEmojiPrev = true;
curSentence = '';
} else if (isEmojiPrev === true) {
curSentence += words[j] + ' ';
}
}
if (isEmojiPrev === true) {
mcqButtonText.push(curSentence.trim());
}
}
var result = {
buttonText: mcqButtonText
};
return result;
}
这里的数组“buttonText”将包含消息中每个句子中表情符号前面的文本。
推荐阅读
- node.js - 如何从本地 mongodb(localhost:27017) 克隆/复制数据到远程 mongodb
- java - 如何在与 postgreSQL 连接的 Spring Boot 应用程序中修复“实体/表关系”(POST 请求中的问题)
- javascript - 使用 Axios 将图像发布到 laravel 仅将 [目标文件] 作为字符串传递
- php - CakePHP 4.x Authentication 2.x - 启动时的致命错误
- mongodb - 如何在 MongoDb 中实现数据兼容性?
- sql-server - 存储过程中定义的临时表的对象名称无效错误
- abcpdf - 是否可以使用 AbsPDF 将 PDF 转换为 html 并将所有 css 和 javascript 嵌入到 html 中
- sql - 在 SAS 中使用 SQL 比较开始日期和结束日期
- javascript - 更新高阶组件中的道具
- php - 在 Laravel 框架中的 where 函数中使用来自 Carbon 包