[英]How to get a comma separated double value in a string with Regex?
我想使用Regex
检索以下字符串中的纬度和经度值。 请帮我做到这一点。
<script type="text/javascript">
function initialize() {
var mapOptions = {
zoom: 18,
center: new google.maps.LatLng(0.6213000841833666, 73.46202224493027)
};
}
</script>
到目前为止,这是我尝试过的。
var data = await Client.GetResponse(URL);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(data);
var script = doc.DocumentNode.Descendants()
.Where(x => x.Name == "script").FirstOrDefault();
if (script != null) {
Match match = Regex.Match(script.InnerText, @"LatLng([A-Za-z0-9\-]+),$", RegexOptions.IgnoreCase);
if (match.Success) {
// blah blah
}
}
Match m = Regex.Match(xml, @"LatLng\(([\d\.]+)\,\s*([\d\.]+)\)");
if(m.Success)
{
Trace.WriteLine(string.Format("Lat:{0} - Lng:{1}", m.Groups[1].Value, m.Groups[2].Value));
}
可能对您有帮助
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
var strings = @"<script type='text/javascript'>
function initialize() {
var mapOptions = {
zoom: 18,
center: new google.maps.LatLng(0.6213000841833666, 73.46202224493027)
};
}
</script>";
var group = Regex.Match(strings,"maps.LatLng\\((?<lat>.*?),\\s*(?<long>.*?)\\)",RegexOptions.IgnoreCase).Groups;
var lat = group["lat"].Value;
var lon = group["long"].Value;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.