我有一个
String data =
-rw-rw-r--+ 1 aime1 svrtech 83338 Apr 2 10:26 sat.log -rw-rw-r--+ 1 aime1 svrtech 2435 Apr 2 10:48 MAT.log -rw-rw-r--+ 1 aime1 svrtech 3470 Apr 2 08:35 ant_build.log
我想将其拆分为以下内容,并希望存储在ArrayList
-rw-rw-r--+ 1 aime1 svrtech 83338 Apr 2 10:26 sat.log
-rw-rw-r--+ 1 aime1 svrtech 2435 Apr 2 10:48 MAT.log
-rw-rw-r--+ 1 aime1 svrtech 3470 Apr 2 08:35 ant_build.log
我想过使用分割功能。我如何在第7空间分裂。 任何人都知道如何做到这一点。
答案 0 :(得分:1)
借助正则表达式
Patter p = Pattern.complie("-rw.*log");// capture string from -rw to log
Matcher m = p.matcher("String data= -rw-rw-r--+ 1 aime1 svrtech 83338 Apr 2 10:26 sat.log -rw-rw-r--+ 1 aime1 svrtech 2435 Apr 2 10:48 MAT.log -rw-rw-r--+ 1 aime1 svrtech 3470 Apr 2 08:35 ant_build.log");
while(m.find){
list.add(m.group()); // list --> ArrayList
}
答案 1 :(得分:1)
String#split
将正则表达式作为参数,因此请尝试使用此类
String data ="-rw-rw-r--+ 1 aime1 svrtech 83338 Apr 2 10:26 sat.log -rw-rw-r--+ 1 aime1 svrtech 2435 Apr 2 10:48 MAT.log -rw-rw-r--+ 1 aime1 svrtech 3470 Apr 2 08:35 ant_build.log";
String arr[]=data.split("(?<=.log )");
for(String s:arr){
System.out.println(s);
}
答案 2 :(得分:0)
String sData = "-rw-rw-r--+ 1 aime1 svrtech 83338 Apr 2 10:26 sat.log -rw-rw-r--+ 1 aime1 svrtech 2435 Apr 2 10:48 MAT.log -rw-rw-r--+ 1 aime1 svrtech 3470 Apr 2 08:35 ant_build.log ";
String arrData[] = sData.split(" ");
int iCounter = 0;
while(iCounter < arrData.length) {
for(int i = 0; i < 9; i++) {
System.out.print(arrData[iCounter]+"\t");
iCounter++;
}
System.out.println("");
}
答案 3 :(得分:0)
似乎.log结束了你想要的每一个字符串。所以也许你可以做到这一点
String[] output = input.split(".log ");
现在每个输出字符串都包含文件名(.log除外)。所以你可以向他们添加.log
并使用它们。
答案 4 :(得分:0)
尝试使用此代码
包装;
public class splitstring {
public static void main(String[] args) {
String data = "-rw-rw-r--+ 1 aime1 svrtech 83338 Apr 2 10:26 sat.log -rw-rw-r--+ 1 aime1 svrtech";
String[] dataArr = data.split(" ");
String[] resArr = new String[20];
int j = 0;
int k = 0;
for (int i = 0; i < dataArr.length; i++) {
if(j==8){
resArr[k] = resArr[k]+dataArr[i];
k++;
j=0;
return;
}
resArr[k] = resArr[k]+dataArr[i]+" ";
}
}
}