大可制作:QQ群:31564239(asp|jsp|php|mysql)

Java Gossip: 分离字符串

将字符串依所设定的条件予以分离是很常见的操作,例如指令的分离,文字文件的数据读出等等,以后者而言,当您在文字文件中储存以下的数据时,在读入文件后,将可以使用String的split()来协助每一格的数据分离。

假设在文字文件中有如下的内容,每笔数据中是以tab分开:
cater        64/5/26    093900230    25433343
momor    67/3/26    0939123456    5434233

下面这个程序是一个简单的范例,假设String对象的数据就是文件中的一行文字数据:

  • StringSplit.java
public class StringSplit { 
public static void main(String args[]) {
String strOfReaded1 =
"cater 64/5/26 0939002302 5433343";
String[] tokens = strOfReaded1.split("\t");

for(String token : tokens) {
System.out.print(token + "\t");
}
System.out.println();
}
}

执行结果:
cater    64/5/26    0939002302    5433343

split()依您所设定的分隔设定,将字符串分为数个子字符串并以String数组传回,再来看一个例子,假设您的文字文件内容每笔数据是以','分隔:
cater,64/5/26,0939002302,5433343
momor,67/3/26,0939123456,5434233

 
  • StringSplit.java
public class StringSplit { 
public static void main(String args[]) {
String strOfReaded2 =
"cater,64/5/26,0939002302,5433343";
tokens = strOfReaded2.split(",");
for(String token : tokens) {
System.out.print(token + "\t");
}
System.out.println();
}
}

执行结果:
cater    64/5/26    0939002302    5433343

这边简单的介绍了一下split()方法的使用,有人可能会想到 java.util.StringTokenizer,基本上API中明确的表示它已经是遗产类(Legacy class)了,存在的原因是为了旧程序的相容性,不建议在您撰写新程序时使用,使用split()来代替会是个好的方案,而且您还可以进一步 使用正则表示式 来进行字符串分离。