Forums Register Login

Tokenize numbers only, skip words

+Pie Number of slices to send: Send
Hi there, does anybody know how should I tokenize only the numbers from the textfile and skip the words?

I have two approaches:

the first is using a token type switch case..

something like:

while(s.nextToken() != StringTokenizer.TT_EOF) //30 July 2010
{
switch (ttype) {
case StringTokenizer.TT_WORD:
System.out.println("Header and Title ignored");
//do not want it to be returned
s.skip();// don't know how to go about here..
break;
case StringTokenizer.TT_NUMBER:
return;//not sure about this one
break;
}
}

or the whitespaceChar method in the StreamTokenizer class.. something like:

public void whitespaceChar(int low, int high)


I am not sure how to go about. anybody able to help me out here??
+Pie Number of slices to send: Send
hello there, i hope that i understand your problem. You need to acquire from a sentence the numbers only by using the Tokenizer.

so a piece of the code i believe its correct:


StringTokenizer st = new StringTokenizer("This is 12 an example"); //adding a random number into the String sentence.

while ( st.hasMoreTokens() ){

String s = st.nextToken();
int i = Integer.parseInt(s);
System.out.println(i);} // end while end example code

//this is my first time i reply into a problem and i don't know how to use the "code" thing, sorry guys.

so if - s - is an integer, - i - takes its value and then it gets printed out (you can do whatever you want with it )
i didn't compile it into eclipse or bluej because i am pretty sure it works.
you have to import the packages again
sorry for my bad english
+Pie Number of slices to send: Send
hi. i actually solved it.



+Pie Number of slices to send: Send
welldone for solving your problem!
maybe i didn't get it.
your program tokenizes everything but as i can see from the code you take the info on 7 and 8 position. I mean the 7th and 8th word in the txt file.
And you adding it into another doc.
I thought that you need only the numbers from a text, not specific the 7th and 8th words of it.


+Pie Number of slices to send: Send
But it wasnt entirely me. Someone from Daniweb, Tong1, helped me with a fragment.Thank you J Sizeas. I really appreciate your help. See you around.
+Pie Number of slices to send: Send
You could also use pattern matching to find this pattern : \\s\\d\\d*\\s i.e. a digit followed by any number of digits with white space on either side. You can modify a bit per your requirement.
+Pie Number of slices to send: Send
Of course \\d\\d* is equivalent to \\d+. Both mean 1 or more digits. And \\s may be too restrictive. How about dots, commas, other characters?
+Pie Number of slices to send: Send
I could not have used pattern matching because each line of the pdb text file was in a different format and contained unnecessary information as well.
+Pie Number of slices to send: Send
using regex or scanner may also be a solution when you want to do some tokenizing.
moose poop looks like football shaped elk poop. About the size of this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 2930 times.
Similar Threads
[Solved] toString() issues
switch: how to use one "case" for multiple/range option
Graphic by date
c++ to Java
Case Statement Problem
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 19:50:25.