使用Java消除String数组上不必要的空间?

时间:2014-10-17 22:19:31

标签: java arrays space

我在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

1 个答案:

答案 0 :(得分:0)

所以我猜你不必要的空间意味着连续的空格,如果是这样,那就是你想要的:https://stackoverflow.com/a/2932439/4088809

replaceAll("^ +| +$|( )+", "$1")

这就是你正在寻找的东西,只需将它应用到你使用readLine获得的整行,这应该可以解决问题。