关于JAVA的一个小bug,拆分字符
2008-03-22 23:51
447 查看
我用经常用JAVA,按某一字符,折成数组如:
String st="aaaaaaaaa,bbbbbbbbb,cccccccccc,ddddddddd";
String sts[]=st.split(",");
我在JDK1.4版本里发现有些特殊字符,它是折不了的。如"_";
为了程序的安全可靠性,我写了下面的方法,代替split() 方法。
/**
* 按照指定的分隔符号分隔,并返回数组
*
* @param t
* @param regx
* @return
*/
public String[] specificSplit(String t, String regx) {
int size = 1;
int index = t.indexOf(regx);
while (index != -1) {
size++;
index = t.indexOf(regx, index + 1);
}
return split(t, regx, size);
}
/**
* 按照指定的分隔符号分隔,并返回数组
*
* @param t
* @param regx
* @param size
* @return
*/
private String[] split(String t, String regx, int size) {
String str[] = new String[size];
int index = t.indexOf(regx);
int i = 0;
while (index != -1) {
str[i] = t.substring(0, index);
t = t.substring(index + 1);
index = t.indexOf(regx);
i++;
}
str[i] = t;
return str;
}
String st="aaaaaaaaa,bbbbbbbbb,cccccccccc,ddddddddd";
String sts[]=st.split(",");
我在JDK1.4版本里发现有些特殊字符,它是折不了的。如"_";
为了程序的安全可靠性,我写了下面的方法,代替split() 方法。
/**
* 按照指定的分隔符号分隔,并返回数组
*
* @param t
* @param regx
* @return
*/
public String[] specificSplit(String t, String regx) {
int size = 1;
int index = t.indexOf(regx);
while (index != -1) {
size++;
index = t.indexOf(regx, index + 1);
}
return split(t, regx, size);
}
/**
* 按照指定的分隔符号分隔,并返回数组
*
* @param t
* @param regx
* @param size
* @return
*/
private String[] split(String t, String regx, int size) {
String str[] = new String[size];
int index = t.indexOf(regx);
int i = 0;
while (index != -1) {
str[i] = t.substring(0, index);
t = t.substring(index + 1);
index = t.indexOf(regx);
i++;
}
str[i] = t;
return str;
}
相关文章推荐
- 世界编程语言排行榜08年03月_Java 语言
- Eclipse在Windows下不能启动之解决方法
- 用泛型写Struts2的BaseAction出错
- java 中文乱码终极解决方案(斩草除根式消灭中文乱码恶魔)
- Struts1.2+Spring2.0+Hibernate3.1项目框架构建中的问题及解决方法集锦
- 体验GroupLayout(jdk1.6)
- JAVA上传文件
- JAVA自学之路 七:路线图明细
- JAVA自学之路 六:项目的自学
- JAVA自学之路 五:问题解决之道
- JAVA自学之路 四:要事为先
- JAVA自学之路 三:要动手
- JAVA自学之路 二:JAVA自学路线图
- JAVA自学之路 一:学会选择
- JAVA类初始化顺序,经典例程
- SOA 术语概述,第 2 部分: 开发流程、模型和资产
- 常用的Struts 2.0的标志(Tag)介绍
- Java双缓冲在画板程序中的应用
- Java Key Words
- 郁闷,困惑!