您的位置:首页 > 编程语言 > Java开发

java 学习笔记(二) 字符串分割

2011-07-05 16:31 525 查看
  写个小程序用到将输入的路径字符串分割成路径和文件名两个字符串,就学习了下java中的字符串分割。网上查了下有两种方法。第一种是用String的split方法,另一种是StringTokenizer。应该还是有其他方法的,希望了解的同学们可以指点一下。

  一.split,直接上代码吧。

public class SplitTest {

public static void main(String[] args) {
String path = "d:\\a\\b\\c.txt";
String fileName;
String parentPath;

String[] filePath = path.split("\\\\"); //部分标点符号不能直接使用,需要加\\ 而恰好要分割的符号也是\\

//分割后filePath[0] = d:
//     filePath[1] = a
//     filePath[2] = b
//     filePath[3] = c.txt

fileName = filePath[filePath.length-1];//这里取到最后一个数组单元,即文件名

char[] pathTemp = new char[50];
path.getChars(0, path.length(), pathTemp, 0);
//将文件名之前的字符串都拷贝到路径字符串中
parentPath = String.valueOf(pathTemp, 0, path.length() - fileName.length() - 1);

System.out.println(parentPath);
System.out.println(fileName);

}

}


输出结果为

  d:\a\b

  c.txt

由于刚刚接触java,代码中很多字符串操作感觉写的不是很好,望高手们多加指点,小弟感激不尽。

  二.StringTokenizer

import java.util.StringTokenizer;

public class tokenizerTest {

public static void main(String[] args) {
String path = "d:\\a\\b\\c.txt";
String fileName;
String parentPath;

StringTokenizer testTok = new StringTokenizer(path, "\\\\");
String[] filePath = new String[testTok.countTokens()];

int i = 0;
while(testTok.hasMoreTokens()){
filePath[i++] = testTok.nextToken();
}

fileName = filePath[i-1];

char[] pathTemp = new char[50];
path.getChars(0, path.length(), pathTemp, 0);
//将文件名之前的字符串都拷贝到路径字符串中
parentPath = String.valueOf(pathTemp, 0, path.length() - fileName.length() - 1);

System.out.println(parentPath);
System.out.println(fileName);

}

}


其实两者实现起来很类似,也许现在用的比较少还没有发现两者各适合什么情况,慢慢研究吧。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: