Java 更改字符串的部分

Java 更改字符串的部分,java,Java,我基本上是在记事本上执行“替换”功能,但我无法删除/替换从.txt文件读取的字符串的一部分 我有:“1=55.748555-0.0000001.210479 0.0000000” 我想要:“1=55.748555-11.210479” 而我想手动给它-1 因为我在这里引起了一些混乱,我的代码如下。我还没有开始更换零件,因为我不知道如何更换 package txtzuibl; import java.io.*; import java.io.BufferedWriter; public class

我基本上是在记事本上执行“替换”功能,但我无法删除/替换从.txt文件读取的字符串的一部分

我有:“1=55.748555-0.0000001.210479 0.0000000”

我想要:“1=55.748555-11.210479”

而我想手动给它-1

因为我在这里引起了一些混乱,我的代码如下。我还没有开始更换零件,因为我不知道如何更换

package txtzuibl;
import java.io.*;
import java.io.BufferedWriter;
public class Txt_zu_ibl {
 public static void main(String[] args) throws IOException
  {
    FileReader fr = new FileReader("test.txt");
    FileWriter fw = new FileWriter("output.txt");
    BufferedReader br = new BufferedReader(fr);
    BufferedWriter bw = new BufferedWriter(fw);

    String zeile = "";
    int i =0;
    zeile ="Closed Index Arclength";
    bw.write(zeile);
    bw.newLine();
    zeile="Begin section ! 1";
    bw.write(zeile);
    bw.newLine();
    zeile=" Begin curve ! 1";
    bw.write(zeile);
    bw.newLine();
    while( zeile != null )
    //Some editing on the beginning
    {
      i++;
      System.out.print(i+" ");
      //Just for me so I can check if I didn't screw up 
      System.out.println(zeile);
      zeile = br.readLine();
      if( i>57 )
      {
          bw.write(zeile);
          bw.newLine();
      }

    }
    bw.close();
    br.close();
  }
}

要替换字符串的某些部分,可以使用replace或replaceAll。第一次尝试:

String s = "1=55.748555 -0.000000 1.210479 0.000000 0";
s = s.replace( "-0.000000", "-1" );
s = s.replace( "0.000000", "" );
s = s.replace( "0", "" );  // Oh no! this doesn't work because...
这是不好的,因为它还将杀死1.210479中的零。让我们使用正则表达式:

s = s.replaceAll( "-0.000000\\b", "-1" );  // exactly six decimal places
s = s.replaceAll( "\\b0.000000\\b", "" );
s = s.replaceAll( "\\b0\\b", "" );
最后两个可以合并

s = s.replaceAll( "\\b0(?:.000000)?\\b", "" );
或者,如果小数点后的零可以是任何正数:

s = s.replaceAll( "\\b0(?:.0+)?\\b", "" );
一些空格(从删除的数字之间)将保留。您可以通过另一个“替换所有”来清理这些空间,以折叠多余的空间:

s = s.replaceAll( "\\s{2,}", " " );

我们不会做你的家庭作业。给我们看看你的代码,告诉我们问题出在哪里。这不是家庭作业。对我来说,这是一项额外的工作,将来我会努力变得懒惰;-)。但是舒尔。我会编辑的。你到底在哪一部分?读取文件?阅读手册部分?进行字符串替换?仅替换字符串。剩下的我都搞定了。替换的代码在哪里!我爱你!