PDA

View Full Version : جستجوي يك رشته متغير در يك رشته ديگر



debugger
پنج شنبه 26 آذر 1388, 20:39 عصر
چطوري ميشه زشته زير را جستجو كرد

http://X.persianblog.ir

بجاي X معلوم نيست چي قراره نوشته بشه و چند حرفي باشه

حالا اين رشته را چطوري ميشه جستجو كرد مثلا توي كد يك صفحه html

با تشكر

misoft.ir
پنج شنبه 26 آذر 1388, 21:55 عصر
سلام
فکر کنم بهترین راه استفاده از Regular expressions باشه
توی سایت جستجو کنی نمونه هاشو پیدا میکنی
در این سایت هم توضیحات مفیدی داده:http://vahidnasiri.blogspot.com/search/label/Regular%20expressions

debugger
جمعه 27 آذر 1388, 19:56 عصر
كسي راه ديگه اي سراغ داره ؟؟

ايا اصلا روش من درسته (بايد اينطوري ادرس وبلاگها را به دست اورد ؟)

يا براي استخراج ادرس وبلاگ يا سايت روش ديگري وجود دارد

Regular expressions از لحاظ درك كد خيلي دشوار است. معلوم نيست اون خرچنگ قورباغه ها چطوري مي نويسن !!!!!!!!!!!!

debugger
شنبه 28 آذر 1388, 17:56 عصر
كي مي تونه با Regular expressions كد اينو بنويسه

alimooghashang
جمعه 09 بهمن 1388, 13:04 عصر
من میدونم با regular expresion میشه نوشت
ولی توابعش رو تو c# نمیدونم
تو PHP مثل فرفره میشه نوشت!

alimooghashang
جمعه 09 بهمن 1388, 14:09 عصر
كي مي تونه با Regular expressions كد اينو بنويسه
کاری نداره که


^(http://)[a-zA-Z\-]+[\.](persianblog.ir)$

Salar Ashgi
جمعه 09 بهمن 1388, 15:05 عصر
یه مثال خیلی ساده :

فرض کن یک کد Html مثل زیر رو داری :



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa-IR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="vBulletin 3.8.0" />

<meta name="keywords" content=" جستجوی یک رشته متغیر در یک رشته دیگر, برنامه نویس,,تالار برنامه نویس, انجمن,انجمن برنامه نویس, برنامه نویس ایرانی,برنامه نویس فارسی,فارسی,توسعه,نرم افزار" />
<meta name="description" content=" جستجوی یک رشته متغیر در یک رشته دیگر برنامه نویسی در C#‎‎" />


<!-- CSS Stylesheet -->
<style type="text/css" id="vbulletin_css">
/**
* vBulletin 3.8.0 CSS
* Style: 'اصلی'; Style ID: 1
*/
@import url("clientscript/vbulletin_css/style-37f27b94-00001.css");
</style>
<link rel="stylesheet" type="text/css" href="clientscript/vbulletin_important.css?v=380" />
http://cpp.persianblog.ir

<!-- / CSS Stylesheet -->
حال یک متود واسه جستجو :



bool Find_str(string source, string key)
{
string s1 = "http://" + key + ".persianblog.ir";
if (source.Contains(s1))
{
return true;
}
else
{
return false;
}
}
نحوه استفاده :



string source = System.IO.File.ReadAllText(@"D:\html.txt");
MessageBox.Show(Find_str(source, "cpp").ToString());
موفق باشید .

alimooghashang
جمعه 09 بهمن 1388, 15:20 عصر
اینم کدش با regex




using System.IO;
using System.Text.RegularExpressions;
using System.Text;

public static void ExtractEmails(string path)
{
string HTML = File.ReadAllText(path);
Regex urlRegex = new Regex(@"^(http://)[a-zA-Z\-]+[\.](persianblog.ir)$");
MatchCollection urlMatches = urlRegex.Matches(HTML);
StringBuilder sb = new StringBuilder();
foreach (Match aMatch in urlMatches)
{
sb.AppendLine(aMatch.Value);
}

File.WriteAllText('output.txt', sb.ToString());
}


استفاده

ExtractEmails('c:\sourceHTML.txt');از sourceHTML.txt میخونه و میریزه تو output.txt