[VB] Bir Cümledeki İki Kelimenin Arasını Alma
-
mrb murıtler
Dim adresbul1 As String = "<Adres>" Dim adresbul2 As String = "</Adres>" Dim net As New Net.WebClient() Dim src As String = net.DownloadString(url12) adres= src.Substring(src.IndexOf(adresbul1 ) + adresbul1 .Length, 35)
bu kodlar ile <Adres>denemeadresi burada</Adres> cumlesınde <Adres> ten sonrakı 35 karekteri alabılıyorum fakat amacım <Adres< ile </Adres> arasındakı cumleyı almak uzunluk degısebılıyor
bunun ıcın nasıl bır yol ızlemem lazım
-
Regular Expressions ile halledebilirsin hocam
-
<Adres>(.*?)</Adres> gibi bir regex i olması lazım deneyebilirsin -
Dim adresbul1 As String = "" Dim adresbul2 As String = "" Dim net As New Net.WebClient() Dim src As String = net.DownloadString(url12) Dim tmp1 = (src.IndexOf(adresbul1 ) Dim tmp2 = src.IndexOf(adresbul2 ) adres= src.Substring(tmp1 + adresbul1.Length,tmp2-tmp1- adresbul1.Length)
kodu denemedim ama bu sekil calismasi lazim
unbalanced tarafından 03/Tem/15 12:16 tarihinde düzenlenmiştir -
unbalanced bunu yazdı
Dim adresbul1 As String = "" Dim adresbul2 As String = "" Dim net As New Net.WebClient() Dim src As String = net.DownloadString(url12) Dim tmp1 = (src.IndexOf(adresbul1 ) Dim tmp2 = src.IndexOf(adresbul2 ) adres= src.Substring(tmp1 + adresbul1.Length,tmp2-tmp1- adresbul1.Length)v
kodu denemedim ama bu sekil calismasi lazim
bu kod calıstı tesekkrler
<Lightsaber>
tesekkurler hocam
<DesertSun>
Hocam bunu yazınca adres baslıklarınıada içine alıyor buna cozum varmı pekı
-
lazz bunu yazdıunbalanced bunu yazdı
Dim adresbul1 As String = "" Dim adresbul2 As String = "" Dim net As New Net.WebClient() Dim src As String = net.DownloadString(url12) Dim tmp1 = (src.IndexOf(adresbul1 ) Dim tmp2 = src.IndexOf(adresbul2 ) adres= src.Substring(tmp1 + adresbul1.Length,tmp2-tmp1- adresbul1.Length)v
kodu denemedim ama bu sekil calismasi lazim
bu kod calıstı tesekkrler
tesekkurler hocam
<DesertSun>
Hocam bunu yazınca adres baslıklarınıada içine alıyor buna cozum varmı pekı
/.*<Adres>\\s+(.*)\\s</Adres>.*/
unbalanced tarafından 03/Tem/15 12:44 tarihinde düzenlenmiştir -
unbalanced bunu yazdılazz bunu yazdıunbalanced bunu yazdı
Dim adresbul1 As String = "" Dim adresbul2 As String = "" Dim net As New Net.WebClient() Dim src As String = net.DownloadString(url12) Dim tmp1 = (src.IndexOf(adresbul1 ) Dim tmp2 = src.IndexOf(adresbul2 ) adres= src.Substring(tmp1 + adresbul1.Length,tmp2-tmp1- adresbul1.Length)v
kodu denemedim ama bu sekil calismasi lazim
bu kod calıstı tesekkrler
tesekkurler hocam
<DesertSun>
Hocam bunu yazınca adres baslıklarınıada içine alıyor buna cozum varmı pekı
/.*\\s+(.*)\\s.*/
bu sefer hepsı gıttı hocam
bunu bır mantıgı varmı işleyişi nasıl oluyor
-
amacım
<body> <div id="ver"><ProgramVer>1.0.1.0</ProgramVer><br></div> <div id="turu"><GuncellemeTürü>1</GuncellemeTürü></div> <div id="adres"><Adres>http://indir.com/temp.exe</Adres></div> </body> </html>
burdaki 3 degıskenı kullanmak.aşagıdada benım kodlarım
Dim url12 = "http://deneme.com/deneme.html" Dim verbul1 As String = "<ver>" Dim verbul2 As String = "</ver>" Dim adresbul1 As String = "<Adres>" Dim adresbul2 As String = "</Adres>" Dim net As New Net.WebClient() Dim src As String = net.DownloadString(url12) Dim tmp3 = (src.IndexOf(verbul1)) Dim tmp4 = src.IndexOf(verbul2) Label6.Text = src.Substring(tmp3 + verbul1.Length, tmp4 - tmp3 - verbul1.Length) Dim tmp1 = (src.IndexOf(adresbul1)) Dim tmp2 = src.IndexOf(adresbul2) url = src.Substring(tmp1 + adresbul1.Length, tmp2 - tmp1 - adresbul1.Length)o 3 degısken almak ıcın bu kadar kod fazla degılmı ?
daha pratık ve kısa bır yol yokmudur
-
hocam regex i duzelttim, direk yapistirdigim icin html taglarini holy siliyor sanirim o yuzden gorunmedi..
ayrica yanlis yoldan gidiyorsun.. Ilk basta dogru durust aciklasaydin yolu gosterirdim, ama direk substring den olaya girmissin.. kisacasi hata sende.
neyse bu isin en iyi yolu bir html wrapper kullanmak, bununla kolayca tagleri ayirabilirsin ve tum value ve attribute lara ulasabilirsin.
https://htmlagilitypack.codeplex.com/
hem vb.net hem c# destekliyor. Ogrenmeye calis bunu, isini kolaylastirir ilerde. Suan isteyim ve bi seyler yapma sansim yok. Ama cikamazsan isin icinden aksam mesaj yollarsan yardimci olmaya calisirim
-
unbalanced bunu yazdı
hocam regex i duzelttim, direk yapistirdigim icin html taglarini holy siliyor sanirim o yuzden gorunmedi..
ayrica yanlis yoldan gidiyorsun.. Ilk basta dogru durust aciklasaydin yolu gosterirdim, ama direk substring den olaya girmissin.. kisacasi hata sende.
neyse bu isin en iyi yolu bir html wrapper kullanmak, bununla kolayca tagleri ayirabilirsin ve tum value ve attribute lara ulasabilirsin.
https://htmlagilitypack.codeplex.com/
hem vb.net hem c# destekliyor. Ogrenmeye calis bunu, isini kolaylastirir ilerde. Suan isteyim ve bi seyler yapma sansim yok. Ama cikamazsan isin icinden aksam mesaj yollarsan yardimci olmaya calisirim
tesekkurler ben bır deneyeyım bakalım yapabılecemmı
-
cok basıtmıs boyle ya
Dim webget As New HtmlAgilityPack.HtmlWeb Dim doc = webget.Load("http://deneme.com/deneme.html") TextBox1.Text = doc.DocumentNode.SelectSingleNode("//div[@id='ver']").InnerText TextBox2.Text = doc.DocumentNode.SelectSingleNode("//div[@id='turu']").InnerText TextBox3.Text = doc.DocumentNode.SelectSingleNode("//div[@id='adres']").InnerTextbu sekılde hallettım hocam saolasın
lazz tarafından 03/Tem/15 15:24 tarihinde düzenlenmiştir
