How to find out if a long String has a "subString" twice or more.
I need to find out if a long String has the same number twice or more.
I need to look matches for numbers running from 000, 001....999 and if a number is found twice or more, return that number and lines there were found.
example String:
-;000 ; 1 ; 2006-12-11 ; -; job;
x;001 ; 2 ; 2006-12-11 ; 2006-12-12; do this
-;002 ; 3 ; 2006-12-11 ; -; work
-;003 ; 0 ; 2006-12-11 ; -; some
-;004 ; 2 ; 2006-12-11 ; -; thing
x;005 ; 1 ; 2006-12-11 ; 2006-12-11; reads
-;003 ; 0 ; 2006-12-11 ; -; here
Should return from example String:
003 at lines 4 and 7
Any ideas?
[638 byte] By [
Jakepaloa] at [2007-11-26 13:11:17]

So there are newlines in the String?
You could use a StringTokenizer to break the String into lines, then searching on each line if it contains any of the search strings. (You need to clarify if a line can contain more than one search string).
Probably you should use a Map<String, Integer> to record the searchcounts.
Or an int[] Array if you are really sure that the Strings you search for really are numbers.
Another option is to use:
LineNumberReader lnr = new LineNumberReader(new StringReader(searchString));
This will save you from explicitly having to take care for the line number.
In any case your example looks like the individual lines are semicolon separated fields and the numbers you search for always are in column two.
So after breaking up the original String in lines, you could use another StringTokenizer to break up the line in fields.
> Probably you should use a Map<String, Integer> to> record the searchcounts.Well, this works if you are only interested in the counts.if you want to record the line number as well, you needMap<String, List><Integer>>.