ورود

نسخه کامل مشاهده نسخه کامل : يه سوال در زمينه كار با فايل هادر سي شارپ دارم



raha1989
28-03-2012, 14:46
سلام
من يه listbox دارم كه با streamreader محتواي يه فايل متني رو ميخونم
و به عنوان item بهش اضافه ميكنم .حالا من مشكلم اينجاس.من ميخوام هر سطر اون فايل متني
رو كه بعنوان آيتم تو listbox ذخيره كردم رو بررسي كنم اگه تو هر سطري لينك وجود داشته باشه يعني تگ
<a href> اون سطرو بردارم .ممنون ميشم منو راهنمايي كنيد.:11:

Msba
28-03-2012, 17:53
با متدcontain می توانید وجود یک رشته را درون یک رشته دیگر بررسی کنید. پس یک نمونه ساده به صورت زیر است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر می خواهید که بسته شدن tag را هم بررسی کنید، یک شرط و یک flag به شرط بالا مبنی بر وجود "a/" اضافه کنید.

موفق باشید.

raha1989
28-03-2012, 19:44
دستتون درد نكنه خيلي ممنونم ازتون خيلي.
ولي من ميخوام اگه تگ لينك توش وجود داشت اون لينك رو بردارمو نمايش بدم
برنامه من sitemapper هستش ميشه يكم بيشتر راهنمايي كنين منو؟خيلي احتياج دارم.زيادم سي شارپ بلد نيسم متاسفانه.

raha1989
28-03-2012, 21:06
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين كل اون چيزيه كه نوشتم ولي هرچي تو ليست اوليس هست رو كپي ميكنه تو ليست دومي اصلا انگار شرط وجود تگ رو بررسي نميكنه چرا؟

عــــلی
29-03-2012, 11:51
بنام خدا.
سلام.شما برای جستجوی متون و جداسازی آنها در یک رشته باید از Regax استفاده کنید.
این تابع یک متن رو گرفته و یک لیست لینک به شما میدهد.
یعنی همه لینک های داخل متن را خارج میکند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید.

raha1989
29-03-2012, 16:13
خيلي از راهنماييتون ممنونم.
حتما امتحان ميكنم.
در ضمن مطالبي هم كه تو اون لينك پاييني گذاشتين خيلي خوب بودن.

Msba
29-03-2012, 19:31
ممنون علی جان. نمی دونستم که پردازش متن در .net داریم. اصلا تا حالا System.Text.RegularExpersion رو نگاه نکرده بودم:27:

این هم یک لینک ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) آموزشی بود که در اینترنت پیدا کردم که به دوستان کمک می کند.

موفق باشید.

raha1989
03-04-2012, 13:04
بازم ممنون.فايل عالي هستش.
ببخشيد يه مدت نبودم.بايد زودتر ازتون تشكر ميكردم.:11::40:

raha1989
05-04-2012, 17:41
سلام
من كدي كه شما گفتين رو استفاده كردم ولي وقتي يه فايل متني رو باز ميكنم
به جاي اينكه لينكاي داخل اونو ت ليس باكس نشون بده توي ليست باكس مينويسه collection
دليلش چيه؟:41:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

عــــلی
05-04-2012, 18:23
بنام خدا.
سلام.
شما دارید یک لیست رو به عنوان یک آیتم در لیست اضافه میکنید برای همین این شکلی میشه.
دو راه دارید.یا اینکه از AddRange استفاده کنید.
یا اینکه توی یه حلقه foreach تمام آیتم هارو جستجو و یکی یکی توی ListView اضافه کنید.

raha1989
05-04-2012, 19:09
ببخشيد add range چيه؟
شرمنده من خيلي مبتديم.متوجه منظورتون نشدم

عــــلی
05-04-2012, 19:15
بنام خدا.
سلام.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

raha1989
05-04-2012, 21:50
ببخشيد شرمندم زياد سوال ميپرسم.
من كد رو تغيير دادم ولي وقتي يه فايل مثل اين رو باز ميكنم كه توش چند تا لينك هست هيچي تو ليست باكس نشون
نميده:(


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

عــــلی
06-04-2012, 16:54
بنام خدا.
سلام.
من html شمارو تست کردم هر سه تا لینک رو توی لیست اضافه کرد.مشکل از کدهای شماست.
لطفاً بررسی کنید یا اگه نمیتونید مشکل رو پیدا کنید کدتونو اینجا قرار بدید.
موفق باشید.

raha1989
06-04-2012, 23:09
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
يه كد ساده س ولي نميدونم مشكلش كجاس ممنون كه جواب ميدين تشكرواقعا

عــــلی
07-04-2012, 16:57
بنام خدا.
سلام.
در کد شما strFileName آدرس فایل شماست.برای همین در رشته مورد نظر هیچ لینکی وجود ندارد و فقط یک آدرس است.
شما باید محتوای فایلتونو به تابعی که بهتون دادم بفرستید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید در پناه حق.

raha1989
07-04-2012, 20:12
واقعا ممنون جدا نميدونم بايد چه طور بايد ازتون تشكر كنم
واقعا اين تشكر من در قبال وقتي كه شما براي من گذاشتين ناچيزه ولي بازم ممنونم:):11:

raha1989
25-04-2012, 17:28
بازم سلام
اقاي علي اميدوارم بازم جواب بدين بهم.
در مورد اون تابع regex كه تو برنامه استفاده شده يه سوال داشتم.اون تابع رو من تو گوگل خيلي سرچ كردم
مدلهاي متفاوتش هست كه لينكاي يه صفحه رو در بياره .شما بر چه اساسي اونو نوشتين؟ميشه يكم
برام توضيحش بدين.و اون دستور regexoptions.compiled براي چيه؟اون قبلي براي اينكه بين حروف بزرگ و كوچيك تفاوت قايل نشه ولي اينو نميدونم.بگين ممنون ميشم.

عــــلی
27-04-2012, 19:48
بنام الله.
سلام.
آموزش Regax کار ساده ای نیست.
شما باید توی اینترنت دنبال آموزش تکنیک Regax بگردید و اطلاعاتی کسب کنید.
ویدئو های خارجی جالبی وجود داره که میتونید دانلود کنید.
هر وقت خواستید در یک فایل متنی عملیات سنگین مدیریت رشته ای انجام بدید باید از Regax استفاده کنید.
RegexOptions.Compiled هم اونطور که من شنیدم برای بهینه کردن سرعت هست.
دو کتاب آموزش Regax:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

raha1989
27-04-2012, 21:39
خيلي ممنونم.
يكي هم در مورد اين خط هايي كه پايين ميذارم سوال داشتم واقعا شرمنده.
اين for كه استفاده شده مگه براي تشخيص اين نيست كه لينكي كه پيدا شده تكراري نباشه خب ما كه قبلا
محتواي لينكو از طريق group ريختيم توي متغير txt خب يعني اگه http يا www داشته باشه هم تو اون متيغير ذخيره شده ديگه پس چرا داخل for دوباره اشاره به اين ميكنه كه اگه داخل تگ http يا www نباشه و برابر مقدار متغير txt نباشه؟يعني داخل group اون اطلاعات ذخيره نميشه؟

---------- Post added at 10:39 PM ---------- Previous post was at 10:38 PM ----------

كد رو يادم رف بذازم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

szh_1367
27-04-2012, 21:56
سلام

اگر بخواهید regular expressions رو در زبان های مختلف برنامه نویسی و یا به صورت کلی بررسی کنید به سایت زیر مراجعه کنید

اموزش + مثال + معرفی کتاب در این سایت پیدا میشود


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

عــــلی
27-04-2012, 22:17
بنام خدا.

خيلي ممنونم.
يكي هم در مورد اين خط هايي كه پايين ميذارم سوال داشتم واقعا شرمنده.
اين for كه استفاده شده مگه براي تشخيص اين نيست كه لينكي كه پيدا شده تكراري نباشه خب ما كه قبلا
محتواي لينكو از طريق group ريختيم توي متغير txt خب يعني اگه http يا www داشته باشه هم تو اون متيغير ذخيره شده ديگه پس چرا داخل for دوباره اشاره به اين ميكنه كه اگه داخل تگ http يا www نباشه و برابر مقدار متغير txt نباشه؟يعني داخل group اون اطلاعات ذخيره نميشه؟

---------- Post added at 10:39 PM ---------- Previous post was at 10:38 PM ----------

كد رو يادم رف بذازم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام.
اون کد که http و www رو چک میکنه یک شرطه برای اینکه فقط لینک هایی رو بگیره که اولشون با یکی از این دوتا شروع بشه.چون امکان داره بعضی لینک های قاطی پاتی رو هم نشون بده ما با این شرط لینک های درست رو دریافت کردیم.اگه این دوتا رو بردارین متوجه میشین که بعضی از لینک هایی که نادرست هستند رو هم توی لیست نشون میده.شرط اول هم میدونید که چک میکنه که لینک تکراری توی لیست اضافه نکنه.
Group در Regax بحثش جداست.و اگه آموزش ها رو بخونید متوجه میشید چطوری گروه بندی میشه.
مثلاً شما میتونی لینک ها رو توی یه گروه ذخیره کنی و اسم فایل ها رو توی یه گروه دیگه و اونارو از داخل Regax جدا کنی.