如何从 Node.js 中的文本中检测地址

Posted

技术标签:

【中文标题】如何从 Node.js 中的文本中检测地址【英文标题】:How to detect the address form the text in Node.js 【发布时间】:2021-11-27 06:25:18 【问题描述】:

我有一个原始文本

示例 1:

order pickup details>>> >>> pick up before the store closes on Wed, Apr 11>>> >>> 
scan in-store for order pickup>>> >>> >>> 9019560>>>    Warrenville Target Store>>> 28201 Diehl Rd, Warrenville, IL 60555

示例 2:

    Come to collect your order in the next 2 days (after that it'll be cancelled). Your payment will be processed as soon as you collect your order.>> >>  >> 
Pickup Store:>> >> Lush Naperville <https://click.e.lush.com/?qs=cbb6669d6dac2528c696ad86bb5b6fd3ebae7703b0b05e2a40dbc6705d0f3325fe891806d5a629b19dbc9b8e9d36e46e7d944d995ea896decd587d210c8bb838>>> 
119 S. Main Street , Naperville, IL 60540>> >> Choose between curbside or in-store pickup.>>

如何从 Node.js 中的上述文本中提取地址部分。如何解决?

实际上,这里发生的事情是。订单确认后,我收到来自不同商店的不同电子邮件。我需要从电子邮件中获取商店地址。这里每个商店使用不同的格式来确认他们的电子邮件订单。

在将电子邮件模板转换为文本格式后,我得到了这个原始文本。

以下是与我的问题相关的问题。但它是在 python 中。

How can I extract address from raw text using NLTK in python?

有没有办法从文本中检测地址?我是新手。

【问题讨论】:

嗨!您能否提供至少 3 或 4 个文本示例来理解规则?你试过regex提取吗? 我添加了另一个例子,我没有使用正则表达式提取@Philippe @Philippe 你能告诉我用于字符串中地址检测的示例正则表达式 嗨!我几乎没有尝试过,但没有成功。我建议你在你的问题上标记regex,这里的一些专家对这个问题有更好的了解:) 对不起! 我会查看一些 npm 包,例如 npmjs.com/package/parse-address 【参考方案1】:

Node.js 中上述类型地址格式的正则表达式为

var text = "pick up before the store closes on Wed, Apr 11>>> >>> 
scan in-store for order pickup>>> >>> >>> 9019560>>>    Warrenville Target Store>>> 28201 Diehl Rd, Warrenville, IL 60555"

var regex = "[0-9]1,5 .+, .+, [A-Z]2 [0-9]5";

var Address = text.match(regex);
console.log("Address",Address);

// Address = 28201 Diehl Rd, Warrenville, IL 60555

解释:

[0-9]1,3:1到3位数字,地址号

(空格):数字和街道名称之间的空格

.+:街道名称,任意出现次数的任意字符

,:城市前的逗号和空格

.+:城市,任意出现次数的任意字符

,:状态前的逗号和空格

[A-Z]2:从 A 到 Z 正好 2 个大写字符

[0-9]5:5 位数字

text.match(regex) 将返回一个包含所有找到的匹配项的数组。

然而,这个正则表达式只用于特定类型的地址格式。

【讨论】:

以上是关于如何从 Node.js 中的文本中检测地址的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node.js 从文本文件中解析街道地址

如何从 node.js 应用程序检测损坏/不完整的 MP3 文件?

检测代码中的 node.js/javascript 内存泄漏

如何将文件逐行读入node.js中的数组[重复]

使用 node.js 的实时文本

Node.js 检测两个猫鼬查找何时完成