FAQ
Cover
This is the archive Discourse for the Processing (ALPHA) software.
Please visit the new Processing forum for current information.

   Processing 1.0 _ALPHA_
   Topics & Contributions
   Tools
(Moderator: REAS)
   a JDK 1.1 friendly String.split()...
« Previous topic | Next topic »

Pages: 1 
   Author  Topic: a JDK 1.1 friendly String.split()...  (Read 1288 times)
amoeba

WWW
a JDK 1.1 friendly String.split()...
« on: Dec 18th, 2003, 4:34pm »

just discovered that the java.lang.String.split() method  is JDK 1.4 only. here is a homemade JDK 1.1 friendly replacement for those of you who need to run in browsers. it assumes that you expect words to be separated by spaces only.
 
oh, just realized: only single spaces allowed! you've been warned. I guess using StringTokenizer would've been more robust, but I just hacked this up...
 
Code:
String[] split(String s) {
  int cnt=0,index;
  String parsed[],tmp;
 
// Strip trailing spaces...    
  while(s.endsWith(" ")) s=s.substring(0,s.length()-1);
 
// Find number of words in string
  for(int i=0; i<s.length(); i++)  
    if(s.charAt(i)==' ') cnt++;
  parsed=new String[cnt+1];
 
  tmp=s;
  for(int i=0; i<cnt+1; i++) {
    index=tmp.indexOf(" ");
    if(index!=-1) {
      parsed[i]=tmp.substring(0,index);
      tmp=tmp.substring(index+1);
    }
    else parsed[i]=tmp;
  }
 
  return parsed;
}

« Last Edit: Dec 18th, 2003, 4:37pm by amoeba »  

marius watz // amoeba
http://processing.unlekker.net/
amoeba

WWW
Re: a JDK 1.1 friendly String.split()...
« Reply #1 on: Feb 21st, 2004, 11:34pm »

updated version with specifiable separator:
 
Code:
String[] split(String s,char separator) {  
  int cnt=0,index;  
  String parsed[],tmp;  
   
// Strip trailing separators...  
  while(s.endsWith(separator))  
    s=s.substring(0,s.length()-1);  
   
// Find number of words in string  
  for(int i=0; i<s.length(); i++)    
    if(s.charAt(i)==separator) cnt++;  
  parsed=new String[cnt+1];  
   
  tmp=s;  
  for(int i=0; i<cnt+1; i++) {  
    index=tmp.indexOf(separator);  
    if(index!=-1) {  
 parsed[i]=tmp.substring(0,index);  
 tmp=tmp.substring(index+1);  
    }  
    else parsed[i]=tmp;  
  }  
   
  return parsed;  
}
 

marius watz // amoeba
http://processing.unlekker.net/
fry

WWW
Re: a JDK 1.1 friendly String.split()...
« Reply #2 on: Feb 23rd, 2004, 2:06am »

this is also why splitStrings() exists in the p5 api.
 
amoeba

WWW
Re: a JDK 1.1 friendly String.split()...
« Reply #3 on: Feb 23rd, 2004, 10:02am »

you know, now that I think about it, that makes a lot of sense...
 
typical, I never even looked for it.
 

marius watz // amoeba
http://processing.unlekker.net/
jen

Email
Re: a JDK 1.1 friendly String.split()...
« Reply #4 on: Apr 1st, 2004, 7:08am »

hello  
 
I cant seem to get splitStrings() to work  
 
this is the line  
 
String[] dataBlock = nmea.splitStrings();
 
and I get this error
 
no method named 'splitStrings" was found in type 'java.lang.String"
 
 
what am I doing wrong?
 
Bijeoma

myloveiloved
Re: a JDK 1.1 friendly String.split()...
« Reply #5 on: Apr 1st, 2004, 7:27am »

you used incorrect syntax. the correct syntax is.
String[] dataBlock = splitStrings(nmea);  
 
 
 
 
 
jen

Email
Re: a JDK 1.1 friendly String.split()...
« Reply #6 on: Apr 1st, 2004, 8:19am »

cheers
 
fry

WWW
Re: a JDK 1.1 friendly String.split()...
« Reply #7 on: Apr 2nd, 2004, 5:30pm »

fyi.. in rev 69 this is now just called 'split()'. so the syntax would be:
String[] dataBlock = split(nmea);
 
Pages: 1 

« Previous topic | Next topic »