Einzelnen Beitrag anzeigen
Alt 28.06.2002, 10:25   #4
Gonte
Veteran
 
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235


Standard

jo, sorry. ich hab das zuerst falsch verstanden (lesen ist eines, verstehen etwas anderes )

wenn ich das problem jetzt richtig aufgefasst habe, ist mir keine klasse bekannt, die das leistet. allerdings ist so eine klasse ja recht schnell entworfen. z.b.

Code:
public class StringDelimiterTokenizer implements Enumeration
{
	private String delimiter;
	private String str;
	private int currentPosition;
	private int maxPosition;
	
	public StringDelimiterTokenizer(String string, String delimiter)	
	{
		this.str=string;
		this.delimiter=delimiter;
		this.currentPosition=0;
		this.maxPosition=string.length();
	}
	
	public boolean hasMoreTokens()
	{
		return (currentPosition==maxPosition ? false : true);
	}
	
	public boolean hasMoreElements()
	{
		return hasMoreTokens();
	}
	
	public String nextToken() 
	{
		int pos;
		
		if((pos=str.indexOf(delimiter, currentPosition))==-1)
		{
			int temp=currentPosition;
			currentPosition=maxPosition;
			return str.substring(temp).trim();
		}
		else
		{
			String sub=str.substring(currentPosition, str.indexOf(delimiter, currentPosition));
			currentPosition=pos+delimiter.length();
			if(currentPosition>=maxPosition) 
				currentPosition=maxPosition;
			return sub.trim();
		}
	}
	
	public Object nextElement() 
	{
		return nextToken();
    }	
}
das lässt sich sicher leistungsmässig noch tunen. is nur ein spontaner vorschlag. vielleicht kannst ja was damit anfangen.
Gonte ist offline   Mit Zitat antworten