文本文件包含以下数据。我希望从文本文件的每一行中删除“$”。我还希望将名称、饮料和成本存储在变量中以供将来操作。不过,这可以稍后执行。我不明白我的代码有什么问题,这是 文本文件数据:
使用正则表达式转义模式解决了问题。我必须将“$”替换为“\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/