我想从一个文本文件中删去一些不要的乱码,如下所示:
DC???A(??:1156:BA79A43420289C37B70E0C2E1672CB5B:33FB9583FEB5D957B8A2F43DC04112BB:::
GRATHAL???A,SECNET:1160:3CF9560255BEF4314A3B108F3FA6CB6D:CC31760B5C7E1513E814C0DF790E7DFB:::
GI????I(??????A.:1162:3055371245A85F0CAAD3B435B51404EE:65B82BADC88D5F847969E7654CAB4709:::三个冒号:::作为每一段的分隔符。在每段中,我要删去的是从每段出现的第一个?到每段出现的第一个:之间的东西。(不要?,要:) 删去乱码后每段应该都是下面所示:DC:1156:BA79A43420289C37B70E0C2E1672CB5B:33FB9583FEB5D957B8A2F43DC04112BB:::
GRATHAL:1160:3CF9560255BEF4314A3B108F3FA6CB6D:CC31760B5C7E1513E814C0DF790E7DFB:::
GI:1162:3055371245A85F0CAAD3B435B51404EE:65B82BADC88D5F847969E7654CAB4709:::希望哪位大哥可以给我提供一个解决的方法
DC???A(??:1156:BA79A43420289C37B70E0C2E1672CB5B:33FB9583FEB5D957B8A2F43DC04112BB:::
GRATHAL???A,SECNET:1160:3CF9560255BEF4314A3B108F3FA6CB6D:CC31760B5C7E1513E814C0DF790E7DFB:::
GI????I(??????A.:1162:3055371245A85F0CAAD3B435B51404EE:65B82BADC88D5F847969E7654CAB4709:::三个冒号:::作为每一段的分隔符。在每段中,我要删去的是从每段出现的第一个?到每段出现的第一个:之间的东西。(不要?,要:) 删去乱码后每段应该都是下面所示:DC:1156:BA79A43420289C37B70E0C2E1672CB5B:33FB9583FEB5D957B8A2F43DC04112BB:::
GRATHAL:1160:3CF9560255BEF4314A3B108F3FA6CB6D:CC31760B5C7E1513E814C0DF790E7DFB:::
GI:1162:3055371245A85F0CAAD3B435B51404EE:65B82BADC88D5F847969E7654CAB4709:::希望哪位大哥可以给我提供一个解决的方法
如果是文件用string的split方法效率是不是稍微低了点呀。有没有高效一点的方法。
楼主:是不是每一行?与?之间的数据都算是乱码呀。。
如果这样的话。可以一行一行读取文件中数据。import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
public class StringTest {
public static void main(String[] args) throws Exception {
FileInputStream file=new FileInputStream("aaa");
BufferedReader br=new BufferedReader(new InputStreamReader(file));
String temp="";
while(true){
temp=br.readLine();
if(temp==null)
break;
int first=temp.indexOf('?');
int second=temp.indexOf(':', first);
System.out.println(first+":"+second);
String str=temp.substring(first, second);
System.out.println(temp.substring(0,first)+temp.substring(second));
}
}
}
结账!