有个题目要求在控制台输入如下格式的命令
copy c:\1.txt c:\2.txt
作用就是复制c:\1.txt到c:\2.txt。
我基本都处理好了,最后发现有个bug因为我是用的spilt(" ")处理的字符串,可是发现文件名中也可能存在空格,spilt的结果就不对。
目前不想改方法返回值,因为那样要处理很多东西。方法返回值是个String数组。如上命令的话,返回值为String [] strs = {"copy","c:\1.txt","c\2.txt"};请问各位有办法处理有空格的路径。我用正则表达式弄了半天没弄出来唉
这个是我写的
String str = "copy e:/java/IO test/1.txt e:/java/IO test/txt/2.txt";
Pattern p = Pattern.compile("[a-zA-Z]:(/(?: [a-zA-Z]:)+)+");
Matcher m = p.matcher(str);
String[] ord = new String[3];
int i = 0; for(int i = 0; m.find();i++) {
ord[i] = m.group(i);
} for (String string : ord) {
System.out.println(string);
}有没高人能给改下正则表达式的那部分。我想的逻辑主要是满足没" [a-zA-Z]:"部分的切割。