This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Java in General and the fly likes Pattern matching Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Pattern matching" Watch "Pattern matching" New topic
Author

Pattern matching

Mary Cole
Ranch Hand

Joined: Dec 02, 2000
Posts: 362
Hi,

I have a string lets say "ABC@^*NNNNN@^*sdsdsds@^*dsdsds"
I have to split this string matching @^*. I can use String Tokenizer to split it.
But if the string is "AB*C@^*NNNNN@^*sdsdsds@^*dsdsds" (note the *), it fails.I need the result as

AB*C
NNNNN
sdsdsds
dsdsds

How do I do it....Pls advice
Mary Cole
Ranch Hand

Joined: Dec 02, 2000
Posts: 362
any luck guys
[ July 14, 2006: Message edited by: Mary Cole ]
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
[Mary]: I have to split this string matching @^*. I can use String Tokenizer to split it.

No, StringTokenizer doesn't work the way you think it does. If you tell StringTokenizer to use "@^*" for the delimiter, that means it will use @, ^, or * as delimiters. There's no way to tell StringTokenizer to use the whole string as a single delimiter - it's always a list of possible single-character delimiters. This is typically not what users expect, and that's one reason by StringTokenizer is not widely recommended these days. An alternative is to use the split() method in String (available since JDK 1.4). Unfortunately this has some issues too, as you need to know about regular expressions to use this correctly. The problem is that ^ and * have special meaning in regular expressions, and to refer to literal ^ and *, you need special escape sequences. Here are three options:



Or if regular expressions aren't to your taste, you could just use String's indexOf() method to find the position of each @^*, then use substring() to extract the other bits.
[ July 14, 2006: Message edited by: Jim Yingst ]

"I'm not back." - Bill Harding, Twister
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Pattern matching
 
Similar Threads
How separate a byte array into two or more byte arrays?
Question about string pattern matching
A Regex Logic
split method
Regex question