Jump to content

How to count repeated number of words in text


Recommended Posts

hi,

Any one can help count repeated number of words in a text?

For example: my text is

Hello there? anybothy is out there?

Hello there? anybothy is out there?

Hello there? anybothy is out there?

Hello there? anybothy is out there?

The keyword search is:

there

The answer should be: 8

Here is my program, i need to fill up the case "Start" with appropriate logic.

#include <GUIConstants.au3>
#include<Array.au3>
$MainGui = GuiCreate('Count number of objects', 600, 400)
$edit = GUICtrlCreateEdit('', 10, 10, 580, 330)
$start = GUICtrlCreateButton('Find', 10, 360, 60, 30)
$Sclear2 = GUICtrlCreateButton('Clear', 80, 360, 60, 30)
global $InputWord = GuiCtrlCreateInput("",150,360,440,20)
GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Sclear2
            GUICtrlSetData($edit,"")
        Case  $start
 
        
    EndSwitch
WEnd

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

#include<GUIConstants.au3>

$var = "Hello there? anybothy is out there?" & @CRLF _
         & "Hello there? anybothy is out there?" & @CRLF _
         & "Hello there? anybothy is out there?" & @CRLF _
         & "Hello there? anybothy is out there?"

$MainGui = GUICreate('Count number of objects', 600, 400)
$edit = GUICtrlCreateEdit('', 10, 10, 580, 330)
$start = GUICtrlCreateButton('Find', 10, 360, 60, 30)
$Sclear2 = GUICtrlCreateButton('Clear', 80, 360, 60, 30)
Global $InputWord = GUICtrlCreateInput("", 150, 360, 440, 20)

GUICtrlSetData($edit, $var)

GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Sclear2
            GUICtrlSetData($edit, "")
        Case $start
            $string_found = 0
            $string_position = StringInStr(GUICtrlRead($edit), GUICtrlRead($InputWord), 0, 1)

            While $string_position > 0
                $string_found += 1
                $string_position = StringInStr(GUICtrlRead($edit), GUICtrlRead($InputWord), 0, 1, $string_position + 1)
            WEnd

            MsgBox(0, "String count result", $string_found)
           
    EndSwitch
WEnd

Edited by KaFu
Link to comment
Share on other sites

Hi KafU, This looks working well!

I will test it more to figure out whether some cases are not covered...but I would not expected more then that.

great! and thank you very much for the help. regards!

#include<GUIConstants.au3>

$var = "Hello there? anybothy is out there?" & @CRLF _
         & "Hello there? anybothy is out there?" & @CRLF _
         & "Hello there? anybothy is out there?" & @CRLF _
         & "Hello there? anybothy is out there?"

$MainGui = GUICreate('Count number of objects', 600, 400)
$edit = GUICtrlCreateEdit('', 10, 10, 580, 330)
$start = GUICtrlCreateButton('Find', 10, 360, 60, 30)
$Sclear2 = GUICtrlCreateButton('Clear', 80, 360, 60, 30)
Global $InputWord = GUICtrlCreateInput("", 150, 360, 440, 20)

GUICtrlSetData($edit, $var)

GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Sclear2
            GUICtrlSetData($edit, "")
        Case $start
            $string_found = 0
            $string_position = StringInStr(GUICtrlRead($edit), GUICtrlRead($InputWord), 0, 1)

            While $string_position > 0
                $string_found += 1
                $string_position = StringInStr(GUICtrlRead($edit), GUICtrlRead($InputWord), 0, 1, $string_position + 1)
            WEnd

            MsgBox(0, "String count result", $string_found)
           
    EndSwitch
WEnd

Be Green Now or Never (BGNN)!

Link to comment
Share on other sites

No need in loops, since we can use @extended that is returned by StringReplace():

#include <GUIConstants.au3>

$Var = _
    "Hello there? anybothy is out there?" & @CRLF & _
    "Hello there? anybothy is out there?" & @CRLF & _
    "Hello there? anybothy is out there?" & @CRLF & _
    "Hello there? anybothy is out there?"

$MainGui = GUICreate('Count number of objects', 600, 400)
$Edit = GUICtrlCreateEdit($Var, 10, 10, 580, 330)
$Start = GUICtrlCreateButton('Find', 10, 360, 60, 30)
$Sclear2 = GUICtrlCreateButton('Clear', 80, 360, 60, 30)
Global $InputWord = GUICtrlCreateInput("there", 150, 360, 440, 20)

GUISetState()

While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Sclear2
            GUICtrlSetData($Edit, "")
        Case $Start
            StringReplace(GUICtrlRead($Edit), GUICtrlRead($InputWord), "")
            MsgBox(0, "Results", "String count result: " & @extended, 0, $MainGui)
    EndSwitch
WEnd

:)

Edited by MrCreatoR

 

Spoiler

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

AutoIt_Rus_Community.png AutoIt Russian Community

My Work...

Spoiler

AutoIt_Icon_small.pngProjects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize Program

AutoIt_Icon_small.pngUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF
 
AutoIt_Icon_small.pngExamples: 
ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo

Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating AutoIt_Rating.gif)

* === My topics === *

==================================================
My_Userbar.gif
==================================================

 

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...