رفتن به مطلب
  • 0

پیدا کردن تعداد تکرار شدن هر کلمه از متن


amirrezaasadi

سوال

سلام دوستان.
میخواستم بدونم چه طور میشه تعداد تکرار هر کلمه از متن رو در متن پیدا کرد. من خودم یه کارایی کردم ولی زیاد موفق نبودم برای مثال اومدم گفتم بیاد تمام فاصله هارو حذف کنه تا تمام کلمات رو داشته باشیم به این صورت:

a = File.ReadString(File.DirInternal,"1.txt")
	Dim first() As String = Regex.Split(" ",a)

بعد اومدم یه حلقه تعریف کردم و به کلمات موجود در first نسبتش دادم و یه رشته دیگه تعریف کردم و گفتم کلمات مانند کلمه اول و دوم و سوم و ... رو از متن جدا کن و بعد تعداد کلماتی که گرفتیو در یک مسیج باکس نمایش بده و بعدش هم تمام

For i = 0 To first.Length -1
Dim GetCharLenght() As String = Regex.Split(first(i),a)
Msgbox(GetCharLenght.Length,first(i))
next

ولی نمیدونم چرا کار نمیکنه تو رو خدا راهنمایی کنید واقعا گیج شدم.

ممنونم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

3 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام هموطن ، این کد ها مربوط به StringUtils جاوا توی کتابخونه Apache Commons هستش ، 

کتابخونه JavaObject رو تیک بزنید و کد زیر رو به برنامه اضافه کنید :

#if java
    public  int countMatches(final CharSequence str, final CharSequence sub) {
        if (isEmpty(str) || isEmpty(sub)) {
            return 0;
        }
        int count = 0;
        int idx = 0;
        while ((idx = indexOf(str, sub, idx)) != -1) {
            count++;
            idx += sub.length();
        }
        return count;
    }
    public  boolean isEmpty(final CharSequence cs) {
        return cs == null || cs.length() == 0;
    }
    public int indexOf(final CharSequence cs, final CharSequence searchChar, final int start) {
        return cs.toString().indexOf(searchChar.toString(), start);
    }
#end if

و به این صورت استفاده کنید : 

Dim matn As String = "salam 1234 anjoman answerCenter salam 444 salam"
Dim textCount As Int
Dim jo As JavaObject

textCount = jo.RunMethod(Array(matn,"salam")) ' in code tedade kalame "salam" ro tuye matne asli neshun mide

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوستان.

میخواستم بدونم چه طور میشه تعداد تکرار هر کلمه از متن رو در متن پیدا کرد. من خودم یه کارایی کردم ولی زیاد موفق نبودم برای مثال اومدم گفتم بیاد تمام فاصله هارو حذف کنه تا تمام کلمات رو داشته باشیم به این صورت:

a = File.ReadString(File.DirInternal,"1.txt")	Dim first() As String = Regex.Split(" ",a)
بعد اومدم یه حلقه تعریف کردم و به کلمات موجود در first نسبتش دادم و یه رشته دیگه تعریف کردم و گفتم کلمات مانند کلمه اول و دوم و سوم و ... رو از متن جدا کن و بعد تعداد کلماتی که گرفتیو در یک مسیج باکس نمایش بده و بعدش هم تمام
For i = 0 To first.Length -1Dim GetCharLenght() As String = Regex.Split(first(i),a)Msgbox(GetCharLenght.Length,first(i))next
ولی نمیدونم چرا کار نمیکنه تو رو خدا راهنمایی کنید واقعا گیج شدم.

ممنونم

 

دوست عزیز این کد به درستی کار می کند:

Dim a As String="ali mohammad hasan ali hasan mahdi ali mahdi mahdi hasan mahdi hasan "

به space اخر متغیر a توجه کنید اگر آن را نزنید hasan را یکی کمتر می شمارد

Sub Activity_Click
	Dim ali() As String=Regex.Split(" ",a)
    For i = 0 To ali.Length -1
    Dim GetCharLenght() As String = Regex.Split(ali(i),a)
    Msgbox(GetCharLenght.Length-1,ali(i))
    Next
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...