1. A searching device, comprising: a text memory that stores text data, the text data showing at least one character strings, the character strings including n-number of characters, n being a natural number; an input device that receives an input of a keyword, the keyword including m-number of characters, m being a natural number that satisfies m≦n; a selector that selects at least one search character from the m-number of characters included in the keyword, the search characters including a-number of characters, a being a natural number that satisfies a≦m; a search window controller that sets a search window, the search window including b-number of characters, the b-number of characters being selected from the text data, b being a natural number that satisfies b≧a; a determining unit that determines whether the search window includes the keyword on the basis of a comparison result of the characters in the search window with the search characters; and an updater that updates the search window in accordance with a predetermined algorithm, a length of the search window being constant before and after the update, the algorithm being an algorithm by which at least two characters exist between the first character of the search window after update and the first character of the search window before update, the at least two characters being characters that do not agree with the search characters, wherein the number of characters b is defined as follows: 
 b =(keychar_idx [ a− 1]+margin)−(keychar idx [0]−margin)+1, keychar_idx [i] denotes an array showing a position of i-th character of the search characters in the keyword, and margin denotes a constant showing a margin of the search window.