gpt4 book ai didi

perl - 从给定字符串中提取任意位置的可行性?

转载 作者:行者123 更新时间:2023-11-30 09:26:22 25 4
gpt4 key购买 nike

这个问题不太可能帮助任何 future 的访客;它只与一个小地理区域、一个特定时刻或一个非常狭窄的情况相关,而这些情况通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the help center .




9年前关闭。




我有许多包含旅行信息的电子表格。

我需要提取该行描述旅行的开始和结束位置,以及该行中的一两件事,但那些额外的字段应该不重要。

没有所有位置的已知列表,也没有固定的文本模式,我只能寻找位置名称。

我正在搜索的字段有 0-2 个位置,有时位置有别名。

问题

如果我们有这个:

00229 | 445 | RTF | Jan   |  trn_rtn_co  | Chicago to Base1 
00228 | 445 | RTF | Jan | train | Metroline to home coming from Base1
00228 | 445 | RTF | Jan | train_s | Standard train journey to Friends

例如,我(尽管会有所不同)会想要这个:

RTF|Jan|Chicago   |Base1
RTF|Jan|Home |Base1
RTF|Jan|NULL |Friends

然后去,看看什么 Base1Friends对那个人(其唯一 ID 是 RTF)表示并用合理的位置替换它们(假设他们只有一组“ friend ”):

RTF|Jan|Chicago   |Rockford
RTF|Jan|Home |Rockword
RTF|Jan|NULL |Milwaukee

我需要的

我需要一种从最后一列中挑选关键词的方法,例如:Metroline to home from Base1。

我正在寻找三种类型的单词:
  • 首页 位置 这些是已知的和有限的,我可以从列表中获得这些
  • 主页别名 这些是已知的和有限的,我可以从列表中获得这些
  • 离开地点 这些是未知的,但英国的城市/城镇/等我不知道如何在字符串中识别这些。这是我的主要问题

  • 我的想法

    我想到的程序是 awk ,但我不知道是否可以可靠地搜索以找到将专有名词(即位置)用于位置名称的位置。

    是否有标准位置的包、库或字典?

    我可以得到一个程序来搜索电子表格并“学习”位置的名称吗?

    这似乎是一个已经解决的问题(即在文本字符串中查找单词),但我不确定我在做什么,而且我只是一个新手程序员。

    对我能做的任何帮助将不胜感激。

    编辑:

    任何答案,例如“US_Locations_Cities 是您可以检查的内容”、“使用 ... 检查 awk 中文件中提到的字符串”、“有一个语言 X 的库可以让程序学习识别位置名称,它是不是正则表达式,但它可能会起作用”,或者“这里有一个位置名称字典”就可以了。

    最终,任何可以帮助我做我想做的事情(即获取位置名称!)的东西都会很棒。

    最佳答案

    很抱歉告诉你,但我认为这不是 100% 可编程的。
    最好的办法是定义一些标准搜索:

  • 芝加哥到 Base1
    [字] 到 [字]:
    其中“to”是固定的,您在之前和之后寻找一个词。之前的词是你的来源和你的目标之后的词
  • 从 Base1 到家的地铁
    [WORD] 到 [WORD] 来自 [WORD]:
    其中“to”和“coming from”是固定的,你在适当的位置寻找三个词。

  • 如果您可以匹配源和目标-> 好的
    如果您无法匹配某些内容,则为该行抛出错误并让用户决定甚至更好地实现适当的更正,并让程序自动重新评估该行。

    这些都是不平凡的目标。
    考虑:
  • 我们出的城市
  • 非英文文本条目
  • 缩写

  • 对于自动纠错,请尝试将找到的 [WORD] 与我们或其他城市的列表相匹配。
    如果未找到城市,则抛出错误。如果您发现该错误,请将未找到的城市包含在您的城市列表中,或者将城市名称翻译为公开(官方)名称。

    关于perl - 从给定字符串中提取任意位置的可行性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12004126/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com