繁体   English   中英

如何使用Java在txt文件中删除此逗号,但保持该“,”逗号不变?

[英]How to delete this comma, in a txt file with java, but let this “,” comma stay?

嘿,朋友们在Java代码中替换了文本中的逗号。 我只想删除所有常用的逗号,并保留这种逗号“,”。

我开始进行一些编码。 但是有点沮丧。

尝试使用if和else,但会有所帮助。

public class converter{


   public static void main(String[] args) throws IOException {

       BufferedReader br = new BufferedReader(new FileReader("C://USers//Sei_Erfolgreich//Desktop//convert.txt"));
       String akhi = br.readLine();


       if(akhi.contains(" \",\"")) {

       }else
           akhi.replaceAll(",", "");
   }

}

解决方法之一是将要保留的字符临时映射到其他对象。

akhi = akhi.replaceAll("\",\"", "\uffff")
           .replaceAll(",", "")
           .replaceAll("\uffff", "\",\"");

字符\￿从定义上是无效的,不应自然出现。

这样吗?

  import java.io.*;

   public class converter{

   public static void main(String[] args) throws IOException {

       BufferedReader br = new BufferedReader(new FileReader("C://USers//Sei_Erfolgreich//Desktop//convert.txt"));
       String akhi = br.readLine();

       akhi = akhi.replaceAll("\",\"", "\uffff")
               .replaceAll(",", "")
               .replaceAll("\uffff", "\",\"");

       File file = new File("C://Users//Sei_Erfolgreich//Desktop//convert2.txt");
       FileWriter fileWriter = new FileWriter(file);
       BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
       bufferedWriter.write(akhi);
       bufferedWriter.close();
   }

此处阅读正则表达式(由String.replaceAll支持)。

例如,您可以使用否定的lookahead和lookbehind 这些使您可以指定规则“匹配逗号,但不匹配引号或前后的引号”。 它看起来像这样:

string = string.replaceAll("(?<!\"),(?!\")", "");

这里的这个很好用

public class converter{

   public static void main(String[] args) throws IOException {
       try {
            BufferedReader br = new BufferedReader(
                    new FileReader("C:/Users/Sei_Erfolgreich/Desktop/convert.txt"));
            String zeile;

            try {
                File newTextFile = new File("C:/Users/Sei_Erfolgreich/Desktop/convert2.txt");
                FileWriter fw = new FileWriter(newTextFile);
                while ((zeile = br.readLine()) != null) {
                    zeile = zeile.replaceAll("\",\"", "\uffff").replaceAll(",", "").replaceAll("\uffff", "\",\"");
                    System.out.println(zeile);
                    fw.write(zeile);
                }

                fw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
   }
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM