【问题标题】:How to spilt out parts of a string如何拆分字符串的一部分
【发布时间】:2014-02-02 23:03:28
【问题描述】:

我有一个坐标格式

43-09-42.0000N

我想把它拆分成它的组成部分

43 09 42.000 N

我正在使用。

$parts = preg_split('/[-]/', $LON);

它给了我

数组([0] => 43 [1] => 09 [2] => 42.0000N)

但我不知道最后是谁让这封信泄露出去。

任何帮助表示感谢,当谈到正则表达式时,我是个十足的笨蛋。

【问题讨论】:

    标签: php regex preg-split


    【解决方案1】:

    如果你想拆分它(如果格式发生变化,这可能很有用)你可以使用类似的东西:

    $parts = preg_split('/-|(?<=\d)(?=[a-z])|(?<=[a-z])(?=\d)/i', $LON);
    

    如果格式没有改变,你最好使用Mark's answer之类的东西。

    如果格式略有变化,您可以使用允许一些变化的正则表达式匹配。

    【讨论】:

      【解决方案2】:
      $string = '43-09-42.0000N';
      
      $result = sscanf($string, '%d-%d-%[0-9.]%s');
      var_dump($result);
      

      【讨论】:

      • 您的回答完美,谢谢?? sscanf($string, '%d-%d-%[0-9.]%s', $deg, $min, $sec,$dir);
      • 那个,或者list($deg, $min, $sec, $dir) = sscanf($string, '%d-%d-%[0-9.]%s');
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-22
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多