`
wuyaiswuya
  • 浏览: 21465 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

根据通配符处理字符串,返回带有空值的字符串数组 split

J# 
阅读更多

项目需要,保存一下

/**
	 * 通过regex来解析字符串,返回数组,和split的区别是可以返回空的数组 例如 str "1,2,".split(",") 只能返回
	 * {"1","2"} 项目需要稍加修改返回 {"1","2",""}
	 * 
	 * @param str
	 *            "1,2,"
	 * @param regex
	 *            ','
	 * @return {"1","2",""}
	 */
	public static String[] split(String str, char regex) {
		char dot = regex;
		int begin = str.indexOf(dot);
		int end = str.lastIndexOf(dot);
		String resultArray[];
		if (begin == -1)
			return new String[] { str };
		int num = 2;
		for (int i = begin; i < end; i++) {
			if (str.charAt(i) == dot) {
				num += 1;
			}
		}
		resultArray = new String[num];
		int a = 0;
		int b = 0;
		for (int j = 0; j < num; j++) {
			b = str.indexOf(dot, a);
			if (b == -1) {
				resultArray[j] = str.substring(a, str.length());
			} else {
				resultArray[j] = str.substring(a, b);
				a = b + 1;
			}
		}
		return resultArray;
	}
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics