繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 资料/其它 >> FullStringTokenizer.java[抄袭自jive]

FullStringTokenizer.java[抄袭自jive]

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:7  文字大小:【】【】【
简介:/** * $RCSfile: FullStringTokenizer.java,v $ * $Revision: 1.2 $ * $Date: 2001/07/31 05:38:29 $ * * Copyright (C) 1999-2001 CoolServlets, Inc. All rights reserved. * * This software is the p...

/**

* $RCSfile: FullStringTokenizer.java,v $

* $Revision: 1.2 $

* $Date: 2001/07/31 05:38:29 $

*

* Copyright (C) 1999-2001 CoolServlets, Inc. All rights reserved.

*

* This software is the proprietary information of CoolServlets, Inc.

* Use is subject to license terms.

*/

package com.jivesoftware.util;

public class FullStringTokenizer {

private String string;

private String delimiter;

private int index = 0;

private int length = 0;

private int delimiterLength;

public FullStringTokenizer(String string, String delimiter) {

this.string = string;

this.delimiter = delimiter;

delimiterLength = delimiter.length();

length = string.length();

}

/**

* Determine if there are more tokens available

*/

public boolean hasMoreTokens() {

return (index < length);

}

/**

* Get the next token

*/

public String nextToken() {

String s = this.string;

int nextToken = s.indexOf(delimiter, index);

//Done finding tokens

if (nextToken < 0) {

// fixed to return whatever is left in the string (for the case

// of "[tok]data[tok]data" <- no ending token)

String tok = s.substring(index,length);

index = length;

return tok;

}

else if (nextToken == index) {

//We found an empty token

index += delimiterLength;

return "";

}

else {

String result = s.substring(index, nextToken);

index = nextToken + delimiterLength;

return result;

}

}

/**

* Returns true of the string being tokenized ends on a delimiter.

*

* For instance, if the string is "a/b/c/d/" and the delimiter is "/"

* then this method will return true. A string of "a/b/c/d" returns false.

*/

public boolean endsOnDelimiter() {

return ((string.lastIndexOf(delimiter)+delimiter.length())==string.length());

}

/**

* Test program.

*/

public static void main(String [] args) {

String testString = "||this is|| a test||||of the system||||";

FullStringTokenizer tokens = new FullStringTokenizer(testString, "||");

while(tokens.hasMoreTokens()) {

System.out.println("> " + tokens.nextToken());

}

}

}

责任编辑:admin
相关文章