从较大的文本正文中获取逗号分隔的纬度和经度值
我有一个如下所示的字符串:
".......mapsearch"), '52.486683, -4.044363', options......"
我想从字符串中检索 2 个数字(长和纬度) - 我不介意是否将它们作为单个字符串一起检索,并在中间包含逗号和空格。
我知道我想使用一个表达式来匹配和忽略从开始到包括 mapsearch") 的任何内容,'
以及字符串末尾到 ' 的相同内容, options
模式。
UPDATE
该字符串还将包含一系列其他字符,例如 { } ( ) = : / 以及所需匹配项之前和之后的数字。
I have a string like the one below:
".......mapsearch"), '52.486683, -4.044363', options......"
I want to retrieve the 2 numbers (long & lat) from the string - I don't mind if I retrieve them together as a single string complete with the comma and space in between.
I know that I want to use an expression to match and ignore anything from the start up to and including the mapsearch"), '
and the same for the end of the string to the ', options
pattern.
UPDATE
The string will also contain a range of other characters like { } ( ) = : / and numbers before and after the desired match..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这将起作用,尽管它很难看:
数字可以是负数或正数,并且它也将匹配整数和小数值。该模式将把两个数字作为单独的组返回。
This will work, as ugly as it is:
The numbers can be negative or positive, and also it will match integers and decimal values. The pattern will return both numbers as a separate group.
假设它是单引号中唯一的数字:
Assuming it's the only numbers in single quotes:
您可以尝试以下操作:
提取
You can try this:
to extract
在这种情况下,我将使用 Metalfrog 的解决方案并进行一些更改。
如果您确定只有字符串有逗号,没有其他内容,则爆炸,然后检查它是否是整数/浮点数,或者如果您知道它是第 n 项,则只需获取 $array[$n]。
否则爆炸并使用这个 (需要一些编辑)以确定它是否是坐标。
In this case, I'd use metalfrog's solution with some changes.
If you're sure that only the string has a comma, nothing else, then explode, and either check if it's an integer/float OR if you know that it's the nth item, just get $array[$n].
Else explode and use this (needs some editing) to determine if it is a coordinate or not.
这会给你:
This will give you: