【发布时间】:2012-08-15 21:20:54
【问题描述】:
我有一个需要在第一个空格之后拆分的地址(我认为可以安全地假设街道名称在第一个空格之后开始)。然后我需要将每个文本部分(街道名称/门号/邮政信箱)分配给不同的节点。所有标点符号也需要删除。
代码需要这样处理:
<address>123 1st St., P.O. Box 321</address>
然后把它变成这样:
<door_num>123</door_num>
<street_name>1st St</street_name>
<addr_postfix>PO Box 321</addr_postfix>
我见过几个关于如何在给定字符串中给定某个字符或位置的情况下拆分字符串的问题,但从不使用这两个参数。我最初想扫描字符串并挑选出任何数字,但我认为这不适用于 P.O.箱号或编号的街道。
我在想我需要使用 substring-before 和 substring-after 运算符,但我不知道如何正确实现它们。另外,这很复杂,我什至不知道从哪里开始
谢谢,
艾伦
【问题讨论】:
-
您是否正在寻找通用地址解析解决方案,或者我们是否可以依赖诸如将
door_num与streed_name和,分隔开的第一个空格之类的东西将street_name与addr_postfix分开? -
地址和后缀并不总是用逗号隔开(我用一个逗号表示需要删除标点符号),但通常会有一个空格将 door_num 和 street_name 隔开
标签: xml xslt xpath split xslt-1.0