با سلام
چگونه می توانم در یک فایل متنی عمل جستجو را انجام داده و تعداد کلمه مورد نظر در فایل متنی رو بدست آورم ؟
با تشکر
با سلام
چگونه می توانم در یک فایل متنی عمل جستجو را انجام داده و تعداد کلمه مورد نظر در فایل متنی رو بدست آورم ؟
با تشکر
با استفاده از تابع Instr میتونید کلمه مورد نظر روی توی یک رشته سرچ کنید . تعدادشو هم باید خودتون کنترل کنید
سلام
اولین کار باز کردن فایل متنیه بعد بهتره اونو توی یه تکست باکس بریزی تا جستجو راحت تر باشه
بعد بررسی میکنی از اول تا اولین فاصله میشه کلمه اول از فاصله اول تا فاصله دوم میشه کلمه دوم و همینطور الی آخر تعدادش رو هم خودت بررسی می کنی
اگه مشکلی داشتی بازم بگو
با تشکر از دوستان
من با این کد به یک نتایجی رسیدم
row = ds.Tables("t1").Rows(a
Do While objReader.Peek() <> -1
str = objReader.ReadLine
If str.Contains(row("name")) = True Then
s = s + 1
name = row("name
End If
Loop
در واقع رکوردی را از بانکم می خونه و در فایل متنی جستجو می کنه و به ازای هر بار پیدا کردن به مقداد s یک واحد اضافه می کنه
ولی یک ایراد داره اون هم اینکه اگر در یک خط دو کلمه هم نام باشه تنها یکی رو جستجو می کنه و به خط بعد می ره
اگرچه همین کد مشکلم رو حل می کنه چون تو فایل متنی مورد نظر من غیر ممکنه در یک خط دو کلمه هم نام وجود داشته باشه
آخرین ویرایش به وسیله titbasoft : یک شنبه 16 مهر 1385 در 11:01 صبح
من توی msdn در این مورد جستجو کردم چیزهای قابل توجهی تونستم بدست بیارم
شما هم اگر بگردی پیدا خواهی کرد
دوستان یک مشکل دیگر برام پیش آمده نمی دانم باید چی کار کنم
فرض کنید کلمه مورد جستجو کلمه "با" می باشد در اینصورت کلمات "بابا" ، "بیابان" ، باران و ... رو هم می شماره
راحت ترین کار اینه که بررسی کنی هر دوطرف کلمه مورد نظر فاصله هست یا نه
اگه هر دو طرفش فاصله بود بعد به تعداد یکی اضافه کنی
درسته این کار رو هم می شود کرد
ولی این کد زیری نقص نداره شاید یک روز به دردتون خورد
Dim count As Integer
Dim sr As New StreamReader("C:\New Text Document.txt")
Dim strLine As String
strLine = sr.ReadLine()
Do Until strLine Is Nothing
MsgBox(strLine)
If strLine = "hadi" Then
count = count + 1
End If
strLine = sr.ReadLine()
Loop
sr.Close()
Label7.Text = count