我想将Apple Maps中显示的坐标转换为
38,89016° N, 1,22427° O
(德语符号)
或
38.89016° N, 1.22427° E
(英语符号)
变成了
38.89016, 1.22427
(预期结果)
但是只有当用户确实输入了匹配该模式的表达式时才可以,而不是当用户在输入字段中输入了类似地址的内容或任何内容时。
所以我会使用PHP preg_replace()
然而,我在构建匹配的正则表达式时遇到了困难,我想知道是否有人已经找到了解决方案?
- 我已经自己尝试过不同的正则表达式变体,这是我最后一次尝试,但没有像预期的那样工作,因为它没有替换任何东西:
$regex = "/^(\d{1,2}[.,]\d+)\s*[°]\s*(N|S)\s*[,]\s*(\d{1,3}[.,]\d+)\s*[°]\s*(E|O|W)$/i";
$output = preg_replace($regex, "$1, $3", $input);
我有一个正则表达式来验证,预期的结果是正确的形式,并按预期工作,虽然我无法修改它的替换:
/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/
1条答案
按热度按时间6tqwzwtp1#
你可以用这个
替换字符串
$1.$2, $3.$4
。输出:
演示here