PDA

View Full Version : سوال: جدا کردن رشته هایی که از قاعده ی خاصی پیروی میکنند



msdn1223
چهارشنبه 03 خرداد 1391, 02:01 صبح
سلام دوستان

من میخوام یه رشته هایی از متن رو که حاوی قواعد خاصی هستند رو جدا کنم

به این صورت، ببینید موضوع اینه:

من یه فایل متنی دارم که توش کدهای html قرار داره
حالا من میخوام از بین این متن ها آدرس لینک ها رو در بیارم به این صورت:

<a href='http://barnamenevis.info/course/advancedasp' target='_blank'>تست</a>
دوستان من میخوام این لینک ها رو از توی متن جدا کنم:

http://barnamenevis.info/course/advancedasp

البته ممکنه چندتا تگ a وجود داشته باشه و لینک هاشون متفاوت
ولی خب یه قاعده ای داره، بعد از href از هرجایی که " شروع شده تا بستن " رو بخونیم
من میخوام بدونم اینو چطور به زبان برنامه نویسی بنویسم؟

ممنون میشم اگه دوستان نحوه ی اعمال اینگونه جداسازی رو بگن

mohamadlvs
چهارشنبه 03 خرداد 1391, 13:13 عصر
این از اون سوال هایی هست که من دوست دارم و سعی کردم یه جواب براش پیدا کنم پس کد زیر رو امتحان کن




string path = @"d:\1.txt";
StreamReader streamreader = new StreamReader(path, Encoding.UTF8);
string str = streamreader.ReadToEnd();
string[] s = str.Split('\'');
foreach (string objStr in s)
{
if ((objStr.Contains("http://")))
{
textBox1.Text += objStr + "\r\n";
}
}

فرید نجفلو
چهارشنبه 03 خرداد 1391, 13:52 عصر
سلام
این کد رو تست کنید:

string StrHtml = @"<a href='http://barnamenevis.info/course/advancedasp' target='_blank'>تست</a>
<input text ='http://NoInListOfAddress'</b>
<a href='http://barnamenevis.org/member.php?243869-Farid.N' target='_blank'>فرید نجفلو</a>
<a href='http://barnamenevis.org/member.php?253964-msdn1223' target='_blank'>msdn1223</a>";
string[] Seperator = {"a href"};
string[] hrefs = StrHtml.Split(Seperator,StringSplitOptions.RemoveE mptyEntries);
List<string> lstAddress = new List<string> ();
foreach (string aItem in hrefs)
foreach (string aStr in aItem.Split('\''))
if (aStr.StartsWith("http://"))
{
lstAddress.Add(aStr);
break;
}

konkoory_82
چهارشنبه 03 خرداد 1391, 14:14 عصر
سلام
فضای نام System.Text.RegularExpressions (http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.aspx) برای کار با متن ها و بدست آوردن متنهایی با الگوی خاص خیلی خوبه
بخصوص کلاس regx که می تونه با الگوها کار کنه . شما فقط باید سینتکس الگوها رو یاد بگیرید و بر اساس اون الگوی خودتون رو ایجاد کنید و بر اساس اون متن رو جستجو کنید.