Java - 使用分隔符不删除特殊字符

标签 java

文本文件包含以下数据。我希望从文本文件的每一行中删除“$”。我还希望将名称、饮料和成本存储在变量中以供将来操作。不过,这可以稍后执行。我不明白我的代码有什么问题,这是 文本文件数据:

使用正则表达式转义模式解决了问题。我必须将“$”替换为“\s*\$\s*”

Rubin$Vodka$55
Alex$Gin$22
Max$Water$FREE

代码:

  File filename = new File("animals2.txt");        
        try{
        Scanner sc = new Scanner(filename);
        String line = sc.nextLine();
        Scanner linesc = new Scanner(line).useDelimiter("$");

        while(linesc.hasNext()){
            String name = linesc.next();
            txaDisplay.append(name + "\n");

        }
    }
    catch(Exception e){
                    e.printStackTrace();
    }

最佳答案

只需更改这行代码:

 Scanner linesc = new Scanner(line).useDelimiter("\\s*\\$\\s*");

您需要传递转义 $ 符号的正则表达式模式。

关于Java - 使用分隔符不删除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40084574/

相关文章:

java - 在类中创建和更改的类会更改原始类

java 8 持续时间 "ofSeconds"与 "withSeconds"

java - 未使用 Play 应用任何样式! 2.0 PDF模块

java - 是否可以从同一个 SQLite 数据库中检索文本和图像

java - 在Java中手动编程折线图的最佳方法是什么

java - Ajax 发布到 RESTful Web 服务

java - 尝试通过 python 脚本启动 Minecraft 服务器时出现内存问题

java - jbas015852 无法索引类 java.lang.IllegalStateException : Unknown tag

java - eclipse-microprofiles 配置抛出 No ConfigProviderResolver 实现被发现

java - 同时展开和折叠具有相同结构的两棵树