`
iMzw
  • 浏览: 190835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java ME 中 String的 Split 方法

    博客分类:
  • Java
阅读更多
最近公司需要一个手机的Java ME客户端,于是乎就开始研究。

发现限制太多了,也可能是用Java SE用习惯了。真是带着镣铐跳舞。很多Java SE有的东西,在Java ME 里都需要自己实现。

比如:String 类的Split方法。还就是集合只有Hashtable和Vector。

我写了两个工具方法:
string2Vector
可以用来处理类似CSV格式的String。

比如:
String in="abd,ddd,adsfa";

Vector out = StringUtil.string2Vector(in, ",");


string2Hashtable
可以用来处理Properties文件格式的String。
比如:
name=abc
age=123
gender=male

String in = "name=abc\nage=123\ngender=male";
Hashtable out = StringUtil.string2Hashtable(in, "\n", "=");



import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;

public class StringUtil {
	public static Vector string2Vector(String in, String delimiter) {
		Vector vector = new Vector();
		if (in == null) {
			return null;
		}
		if (delimiter == null || delimiter.length() == 0) {
			vector.addElement(in);
			return vector;
		}

		int fromIndex = 0;
		int pos;
		while ((pos = in.indexOf(delimiter, fromIndex)) >= 0) {
			String interim = in.substring(fromIndex, pos);
			if (interim.length() > 0) {
				vector.addElement(interim);
			}

			fromIndex = pos + delimiter.length();
		}

		return vector;
	}

	public static Hashtable string2Hashtable(String in, String delimEntry,
			String delimKey) {
		if (in == null) {
			return null;
		}

		Hashtable hashtable = new Hashtable();

		if (delimEntry == null || delimEntry.length() == 0 || delimKey == null
				|| delimKey.length() == 0) {
			hashtable.put(in, "");
			return hashtable;
		}

		Enumeration enumeration = string2Vector(in, delimEntry).elements();
		int len = delimKey.length();
		while (enumeration.hasMoreElements()) {
			String entry = (String) enumeration.nextElement();

			int pos = entry.indexOf(delimKey);
			if (pos > 0) {
				String value = entry.substring(pos + len);
				hashtable.put(entry.substring(0, pos), value);
			} else {
				hashtable.put(entry, "");
			}
		}

		return hashtable;
	}
}


1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics