javascript - 拆分大字符串 Google 脚本
问题描述
我正在通过谷歌表格脚本使用 SOQL。我正在检索的字段之一是 TextArea 类型,并且包含相当多的混合信息。它返回一个大字符串,如下所示
fullDescription:
"First name: Peter Last name: Pan Email: Peter@pan.com Company name: someCompany How can we help? : Looking to get some app testing done across iPhone and Android devices. Job Title: Cofounder
理想情况下,我只需要该字符串中的以下信息
公司名:
电子邮件:
我尝试过的是一系列 substr 命令,将其逐个分解,但在 100% 的情况下并不准确。
var cutEmail = splitStr.substr(splitStr.lastIndexOf("."));
var trimCompany = cutEmail.substr(cutEmail.indexOf(":")+2,cutEmail.lastIndexOf(" "));
submitCompany= trimCompany.substr(trimCompany.indexOf(""),trimCompany.lastIndexOf("How"));
很可能有更好、更准确的方法来实现这一点,但还没有想到。
有什么想法吗?
解决方案
如果您可以依赖始终按预期顺序包含预期标签的字符串,那么您可以使用正则表达式匹配。
function testIt() {
const splitStr = "First name: Peter Last name: Pan Email: Peter@pan.com Company name: someCompany How can we help? : Looking to get some app testing done across iPhone and Android devices. Job Title: Cofounder";
const dataRegEx = /First name: (?<firstName>.*)\s+Last name: (?<lastName>.*)\s+Email: (?<email>.*)\s+Company name: (?<company>.*)\s+How can we help\? : (?<request>.*)\s+Job Title: (?<title>.*)/;
var dataParsed = splitStr.match(dataRegEx);
if (dataParsed) {
console.log(dataParsed.groups);
}
}
10:40:08 AM Info { firstName: 'Peter',
lastName: 'Pan',
email: 'Peter@pan.com',
company: 'someCompany',
request: 'Looking to get some app testing done across iPhone and Android devices.',
title: 'Cofounder' }
推荐阅读
- javascript - 在 JS Regex 中接受西班牙语 Unicode 字符
- kubernetes - 使用 --set 将 JSON 配置变量传递给 helm
- javascript - 在 devtools 打开之前,Chrome 不会提示 windows auth login
- javascript - 使用 fetch() 从 API 获取数据
- python - 如何在 groupby 之后将 Pandas DataFrame 的标头与多个聚合相结合以将其正确导出为 csv?
- python - 使用 Python(或任何语言)从文本文件中提取数据
- java - 多对一的 JPA 标准 API 规范
- flutter - 连接失败,地址=pub.dartlang.org,端口=443 flutter visual studio Mac big sur
- javascript - 使用javascript的多输入数组在for循环中不起作用
- amazon-sqs - Amazon SQS FIFO 队列,具有不同组 ID 的消息分布不均