检查:token.replaceAll("["\,"").replaceAll("\"]","");
时间: 2023-08-30 19:10:51 浏览: 34
这段代码的作用是去除字符串中的方括号 "[" 和 "]",并返回去除后的字符串。
例如,如果字符串为 "[a, b, c]",则该代码会返回 "a, b, c"。
需要注意的是,该代码中的双引号需要转义,正确的写法应该是:
```
token.replaceAll("[\\[\\]]", "");
```
其中,"\\[" 表示匹配 "[","\\]" 表示匹配 "]"。由于正则表达式中也使用了反斜杠,因此需要再加上一个反斜杠对其进行转义。
相关问题
将以下代码改错:import java.util.*; public class FoundPrice { public static void main(String args[]) { String s="牛奶:89.8元,香肠:12.9元 啤酒:69元 巧克力:132元"; String regex="[^0123456789.]" ; //匹配非数字的正则表达识 String digitMess=s.replaceAll(regex,"*"); StringTokenizer fenxi=【代码1】//创建fenxi,用*做分隔标记解析digitMess中的单词 int number=【代码2】 //fenxi调用countTokens()方法返回单词数量 double sum=0; while(fenxi.hasMoreTokens()) { String str=【代码3】//fenxi调用nextToken()方法返回单词 System.out.println(str); sum=sum+Double.parseDouble(str); } System.out.println("购物小票中的商品种类:"+number+"种"); System.out.println("购物小票中的价格总额:"+sum+"元"); } }
import java.util.*;
public class FoundPrice {
public static void main(String args[]) {
String s = "牛奶:89.8元,香肠:12.9元 啤酒:69元 巧克力:132元";
String regex = "[^0123456789.]"; // 匹配非数字的正则表达识
String digitMess = s.replaceAll(regex, "*");
StringTokenizer fenxi = new StringTokenizer(digitMess, "*"); // 创建fenxi,用*做分隔标记解析digitMess中的单词
int number = fenxi.countTokens(); // fenxi调用countTokens()方法返回单词数量
double sum = 0;
while (fenxi.hasMoreTokens()) {
String str = fenxi.nextToken(); // fenxi调用nextToken()方法返回单词
System.out.println(str);
sum += Double.parseDouble(str);
}
System.out.println("购物小票中的商品种类:" + number + "种");
System.out.println("购物小票中的价格总额:" + sum + "元");
}
}
补全代码:nalysisResult.javaimport java.io.*;import java.util.*;public class AnalysisResult { public static void main(String args[]) { //使用循环按行读取文件 //调用Fenxi.getTotalScore()获取解析出的总成绩,并写入scoreAnalysis.txt中 }}Fenxi.javaimport java.util.*;public class Fenxi { public static double getTotalScore(String s) { String regex="[^0123456789]" ; //匹配非数字的正则表达式 String digitMess=s.replaceAll(regex,"*"); StringTokenizer fenxi = new StringTokenizer(digitMess,"*"); double totalScore=0; while(fenxi.hasMoreTokens()){ double score = Double.parseDouble(fenxi.nextToken()); //累加 totalScore } return totalScore; }}
import java.io.*;
import java.util.*;
public class AnalysisResult {
public static void main(String args[]) {
try {
File file = new File("score.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
double totalScore = 0;
while ((line = bufferedReader.readLine()) != null) {
totalScore += Fenxi.getTotalScore(line);
}
bufferedReader.close();
FileWriter fileWriter = new FileWriter("scoreAnalysis.txt");
fileWriter.write("总成绩:" + totalScore);
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.util.*;
public class Fenxi {
public static double getTotalScore(String s) {
String regex = "[^0123456789]";
String digitMess = s.replaceAll(regex, "*");
StringTokenizer fenxi = new StringTokenizer(digitMess, "*");
double totalScore = 0;
while (fenxi.hasMoreTokens()) {
double score = Double.parseDouble(fenxi.nextToken());
totalScore += score;
}
return totalScore;
}
}