2013-02-28 73 views
0

我正在询问如何使用php代码来处理从SQL数据库中检索的字符串。该字符串采用以下格式:3-5个由数字分隔的字母数字组。字符串中字母数字组的数量相当多(从1到20个或更多组)。从具有句点分隔符的字符串中选择第一个或最后一个字符组

  • 实施例1:J89.NEWTT.IIU.MZZ.OXI。
  • 例2:ORD6.BAE.J89.DLH.YRL.N5500.W9700.NUGSM.N6500。

我需要做两件事情与这些:

  1. 分离成一个新的字符串只是第一3组周期之间(实施例1中,结果将是“J89.NEWTT.IIU “)
  2. 分离成一个新的字符串只是最后3个基团周期之间(实施例2中,结果将是 “W9700.NUGSM.N6500”)

我很难让普通玩家使用它。谢谢你的帮助!

+0

为什么'regex'? $ chunks = explode('。','J89.NEWTT.IIU.MZZ.OXI'); – coolguy 2013-02-28 05:57:25

+0

爆炸('。','J89.NEWTT.IIU.MZZ.OXI') – 2013-02-28 05:58:55

+0

谢谢,删除正则表达式,是爆炸它。谢谢。 – user2117995 2013-02-28 06:42:12

回答

1

将其拆分(explode),将所需的部分切片,然后再将它们与.再次合并。

这是一种奇怪的格式,挑选第一/最后三个块似乎真的是任意的。它是结构化数据吗?如果是这样,为什么你将它存储在数据库的单个字段中?

+0

同意。爆炸似乎是最好的,并且在重新加入*前3 *时易于管理。只要不知道如何选择最后3组来重新组合(爆炸后),当可以有任何数量的字母组组合时。 – user2117995 2013-02-28 06:21:58

+0

解释数据......它是航空器航线,也与航班号,纬度,经度和各种其他数据有关。这个块是由另一个服务器以这种格式提供的飞机路线。在某些情况下,我需要在出发后提供前3个点,在某些情况下,还需提前3个点....如果解释有帮助。 – user2117995 2013-02-28 06:24:38

+0

为什么你没有另外一张桌子上有每个航班号,出发地,目的地,什么等等的列?你有点挫败使用数据库的目的。还有,[last three elements](http://stackoverflow.com/questions/5468912/php-get-the-last-3-elements-of-an-array)在 – Eevee 2013-02-28 06:32:11

相关问题