Java ME 中 String的 Split 方法

最近公司需要一个手机的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;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值