【发布时间】:2017-07-15 01:21:14
【问题描述】:
我正在尝试发出类似 !find England Michanel 的命令,以返回居住在 England 的姓名为 Michael 的人员列表。
let [country, name] = input.split(" ").slice(1);
这给了我想要的确切数据。但问题是当县名不止一个词时,如 United States 以及人名如 John Doe。如果我应用我当前的逻辑将会是这样的; country = United, name = States 之后将忽略其余部分。
有什么方法可以正确检索带空格的国名人名吗?谢谢
【问题讨论】:
-
你必须做一些特殊的解析。您可以检查国名是否以“United”开头,然后推断国名是 2 个单词,但这是一种非常糟糕的处理方式。这实际上是一个很常见的问题。我已经看到它通过破折号 (
united-states) 或下划线 (united_states) 解决了。除此之外,您要么必须进行某种模糊搜索,要么依赖像 Solr 这样的搜索提供程序。 -
input长什么样子?你有控制权吗?请举例input -
你需要先明确输入的形成方式。
-
如果输入是
"country name",你为什么使用.slice(1),为什么在你的命令/函数名前使用!?
标签: javascript