关于正则表达式截取字符串

时间:2022-03-18 18:50:13
从一段googlemap截取坐标 sll的值
<iframe width="740" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://ditu.google.cn/maps?q=%E5%B9%BF%E5%B7%9E%E9%B9%8F%E5%B3%B0%E6%9C%AC%E7%94%B0%E5%BA%97&amp;hl=zh-CN&amp;cd=1&amp;ei=YlQjTJy0MYb4uQPhosjVCA&amp;sll=35.11111,104.111111&amp;sspn=48.954644,61.962891&amp;brcurrent=3,0x3403f157e2e4609f:0x303e6f47a8a2281c,0,0x3403f3f633f78ad9:0x7a30a41e1da40b9e%3B5,0,0&amp;ie=UTF8&amp;view=map&amp;cid=4306157070493002983&amp;ved=0CEAQpQY&amp;hq=%E5%B9%BF%E5%B7%9E%E9%B9%8F%E5%B3%B0%E6%9C%AC%E7%94%B0%E5%BA%97&amp;hnear=&amp;ll=22.531962,114.020083&amp;spn=0.006937,0.015879&amp;z=16&amp;iwloc=A&amp;output=embed"></iframe>
     用正则表达式怎么截取到sll的值
  并且不能在前台截取
     只能在后台截取!

14 个解决方案

#1


有多个还是一个

#2


引用 1 楼 chinajiyong 的回复:
有多个还是一个

     
      每条数据只有一个,数据是动态的

#3


引用 2 楼 moshimowanglpq 的回复:
引用 1 楼 chinajiyong 的回复:

有多个还是一个

     
      每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗

string s6="你的字符串";
string patern = "(?<=sll=)(.*?)(?=&amp)";
Match match6 = Regex.Match(s6, patern,RegexOptions.None);
string resltstr = match6.Value;

#4


ssl长度固定吗?

#5


引用 3 楼 chinajiyong 的回复:
引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符串";
string patern = "(?<=sll=)(.*?)(?=&amp;amp)";
Match ma……


      解决了,谢谢你,不小心把正则写错了

   还有一个问题请教您
        我要去掉一段字符串中的HTML代码,这一部分
    <style>
/* Generator: eWebEditor */
p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;font-size:10.5pt;font-family:"Times New Roman";}
div.Section1 {page:Section1;}
ol {margin-bottom:0cm;}
ul {margin-bottom:0cm;}
</style>
也是在后台用正则,怎么写啊

#6



string str = @"<iframe width=""740"" height=""350"" frameborder=""0"" scrolling=""no"" marginheight=""0"" marginwidth=""0"" src=""http://ditu.google.cn/maps?q=%E5%B9%BF%E5%B7%9E%E9%B9%8F%E5%B3%B0%E6%9C%AC%E7%94%B0%E5%BA%97&amp;hl=zh-CN&amp;cd=1&amp;ei=YlQjTJy0MYb4uQPhosjVCA&amp;sll=35.11111,104.111111&amp;sspn=48.954644,61.962891&amp;brcurrent=3,0x3403f157e2e4609f:0x303e6f47a8a2281c,0,0x3403f3f633f78ad9:0x7a30a41e1da40b9e%3B5,0,0&amp;ie=UTF8&amp;view=map&amp;cid=4306157070493002983&amp;ved=0CEAQpQY&amp;hq=%E5%B9%BF%E5%B7%9E%E9%B9%8F%E5%B3%B0%E6%9C%AC%E7%94%B0%E5%BA%97&amp;hnear=&amp;ll=22.531962,114.020083&amp;spn=0.006937,0.015879&amp;z=16&amp;iwloc=A&amp;output=embed""></iframe>";
            Response.Write(Regex.Match(str, "(?is)sll=(?<val>.*?)&amp;").Groups["val"]);

#7


引用 5 楼 moshimowanglpq 的回复:
引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符串";
string patern = "(?<=sll=……


 string patern = "<style>(.*?)<style>"; 
 string resltstr = Regex.Replace(htmlstr, patern, @"");

我也是新手

#8


引用 5 楼 moshimowanglpq 的回复:
引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符串";
string patern = "(?<=sll=……


只要去除style标签中的吗?还是全部HTML?

#9


引用 7 楼 chinajiyong 的回复:
引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符……

少写过/

string patern = "<style>(.*?)</style>"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

#10


引用 8 楼 porschev 的回复:
引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符……



    其他的我已经去掉了
       就<style>标签中的去不掉

#11




   static void Main(string[] args)
            {
                string str = @"<style>
/* Generator: eWebEditor */
p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;font-size:10.5pt;font-family:""Times New Roman"";}
div.Section1 {page:Section1;}
ol {margin-bottom:0cm;}
ul {margin-bottom:0cm;}
</style>
";

                string re = "(?is)<style>.*?</style>";

                str = Regex.Replace(str, re, "");

                Console.WriteLine(str);
                Console.ReadLine();


            }


#12


引用 10 楼 moshimowanglpq 的回复:
引用 8 楼 porschev 的回复:

引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C#……


string patern = "(?is)(?<=<style>)(.*?)(?=<//style>)"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

#13


引用 12 楼 chinajiyong 的回复:
引用 10 楼 moshimowanglpq 的回复:

引用 8 楼 porschev 的回复:

引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的
……

是不是<style>标签也要去掉?是的话

string patern = "(?is)(?<=<style>)(.*?)(?=</style>)"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

去掉style标签之间的话

string patern = "<style>(.*?)</style>"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

#14


引用 13 楼 chinajiyong 的回复:
引用 12 楼 chinajiyong 的回复:

引用 10 楼 moshimowanglpq 的回复:

引用 8 楼 porschev 的回复:

引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多……


      解决了,谢谢您!

#1


有多个还是一个

#2


引用 1 楼 chinajiyong 的回复:
有多个还是一个

     
      每条数据只有一个,数据是动态的

#3


引用 2 楼 moshimowanglpq 的回复:
引用 1 楼 chinajiyong 的回复:

有多个还是一个

     
      每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗

string s6="你的字符串";
string patern = "(?<=sll=)(.*?)(?=&amp)";
Match match6 = Regex.Match(s6, patern,RegexOptions.None);
string resltstr = match6.Value;

#4


ssl长度固定吗?

#5


引用 3 楼 chinajiyong 的回复:
引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符串";
string patern = "(?<=sll=)(.*?)(?=&amp;amp)";
Match ma……


      解决了,谢谢你,不小心把正则写错了

   还有一个问题请教您
        我要去掉一段字符串中的HTML代码,这一部分
    <style>
/* Generator: eWebEditor */
p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;font-size:10.5pt;font-family:"Times New Roman";}
div.Section1 {page:Section1;}
ol {margin-bottom:0cm;}
ul {margin-bottom:0cm;}
</style>
也是在后台用正则,怎么写啊

#6



string str = @"<iframe width=""740"" height=""350"" frameborder=""0"" scrolling=""no"" marginheight=""0"" marginwidth=""0"" src=""http://ditu.google.cn/maps?q=%E5%B9%BF%E5%B7%9E%E9%B9%8F%E5%B3%B0%E6%9C%AC%E7%94%B0%E5%BA%97&amp;hl=zh-CN&amp;cd=1&amp;ei=YlQjTJy0MYb4uQPhosjVCA&amp;sll=35.11111,104.111111&amp;sspn=48.954644,61.962891&amp;brcurrent=3,0x3403f157e2e4609f:0x303e6f47a8a2281c,0,0x3403f3f633f78ad9:0x7a30a41e1da40b9e%3B5,0,0&amp;ie=UTF8&amp;view=map&amp;cid=4306157070493002983&amp;ved=0CEAQpQY&amp;hq=%E5%B9%BF%E5%B7%9E%E9%B9%8F%E5%B3%B0%E6%9C%AC%E7%94%B0%E5%BA%97&amp;hnear=&amp;ll=22.531962,114.020083&amp;spn=0.006937,0.015879&amp;z=16&amp;iwloc=A&amp;output=embed""></iframe>";
            Response.Write(Regex.Match(str, "(?is)sll=(?<val>.*?)&amp;").Groups["val"]);

#7


引用 5 楼 moshimowanglpq 的回复:
引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符串";
string patern = "(?<=sll=……


 string patern = "<style>(.*?)<style>"; 
 string resltstr = Regex.Replace(htmlstr, patern, @"");

我也是新手

#8


引用 5 楼 moshimowanglpq 的回复:
引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符串";
string patern = "(?<=sll=……


只要去除style标签中的吗?还是全部HTML?

#9


引用 7 楼 chinajiyong 的回复:
引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符……

少写过/

string patern = "<style>(.*?)</style>"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

#10


引用 8 楼 porschev 的回复:
引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C# code

string s6="你的字符……



    其他的我已经去掉了
       就<style>标签中的去不掉

#11




   static void Main(string[] args)
            {
                string str = @"<style>
/* Generator: eWebEditor */
p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;font-size:10.5pt;font-family:""Times New Roman"";}
div.Section1 {page:Section1;}
ol {margin-bottom:0cm;}
ul {margin-bottom:0cm;}
</style>
";

                string re = "(?is)<style>.*?</style>";

                str = Regex.Replace(str, re, "");

                Console.WriteLine(str);
                Console.ReadLine();


            }


#12


引用 10 楼 moshimowanglpq 的回复:
引用 8 楼 porschev 的回复:

引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的

是取出35.11111,104.111111这个吗
C#……


string patern = "(?is)(?<=<style>)(.*?)(?=<//style>)"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

#13


引用 12 楼 chinajiyong 的回复:
引用 10 楼 moshimowanglpq 的回复:

引用 8 楼 porschev 的回复:

引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多个还是一个


每条数据只有一个,数据是动态的
……

是不是<style>标签也要去掉?是的话

string patern = "(?is)(?<=<style>)(.*?)(?=</style>)"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

去掉style标签之间的话

string patern = "<style>(.*?)</style>"; 
string resltstr = Regex.Replace(htmlstr, patern, @"");

#14


引用 13 楼 chinajiyong 的回复:
引用 12 楼 chinajiyong 的回复:

引用 10 楼 moshimowanglpq 的回复:

引用 8 楼 porschev 的回复:

引用 5 楼 moshimowanglpq 的回复:

引用 3 楼 chinajiyong 的回复:

引用 2 楼 moshimowanglpq 的回复:

引用 1 楼 chinajiyong 的回复:

有多……


      解决了,谢谢您!