我在Java中使用包含小文本的String数组(使用NetBeans IDE)。当将文本行插入数组时,我得到了太多不必要的空间和字符,我想摆脱它们。这是一个例子:
1 experimental investigation of the aerodynamics of a wing in a slipstream . an experimental study of a wing [...] flow theory . an empirical [...] .
2 small viscosity . in the study of high-speed [...] vorticity . the discussion here is restricted to two-dimensional incompressible steady flow .
正如您所看到的,在某些情况下,我最终会在句点和下一个单词之间留出3个空格。如何摆脱额外的空间和字符,如句号,逗号等?
编辑:这是一个过程。
- 在String数组中的x位置插入文本:
try{
coleccion = new File (File location);
fr = new FileReader (coleccion);
br = new BufferedReader(fr);
String numDoc = " ";
int pos = 0;
while((numDoc=br.readLine())!=null){
if(numDoc.contains(".W")){
while((numDoc=br.readLine())!= null && !numDoc.contains(".I")){
if(Text[pos] != null) {
Text[pos] = Texto[pos] + " " + numDoc;s
}
else {
Text[pos] = numDoc;
}
}
pos++;
}
}
}
catch(Exception e){
e.printStackTrace();
}
- 打印阵列(1400个位置):
for(int i=0; i<=1399; i++){
//System.out.println(ID[i]);
System.out.println(i+1 + " " + Texto[i]);
}
- 关于初始问题的附加信息: .txt file to arrays using Java
答案 0 :(得分:0)
所以我猜你不必要的空间意味着连续的空格,如果是这样,那就是你想要的:https://stackoverflow.com/a/2932439/4088809
replaceAll("^ +| +$|( )+", "$1")
这就是你正在寻找的东西,只需将它应用到你使用readLine获得的整行,这应该可以解决问题。