如何使用Regex在字符串中获得逗号分隔的双值

本文关键字:分隔 Regex 何使用 字符串 | 更新日期: 2023-09-27 18:26:09

我想用Regex检索以下字符串中的Latitude和Longitude值。请帮我做这个。

<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
    } 
} 

如何使用Regex在字符串中获得逗号分隔的双值

    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;
        }
    }
}