【发布时间】:2011-02-07 01:06:41
【问题描述】:
public void convertStrings() {
for (int counter = 0; counter < compare.length; counter++) {
compare[counter] = compare[counter].replace('*','_');
compare[counter] = compare[counter].replaceAll("_",".*");
compare[counter] = compare[counter].replace('?', '.');
}
// System.out.printf("%s", Arrays.toString(compare));
}
public void compareStrings() {
for (int counter = 0; counter < data.length; counter++) {
for (int counter1 = 0; counter1 < compare.length; counter1++) {
if (data[counter].matches(compare[counter1]) == true) {
System.out.printf("%s ", data[counter]);
}
}
System.out.println();
}
}
}
我要做的是将输入中的任何 * 替换为 .* ,这样当我将字符串与之前的任何内容进行比较时,它将忽略以前的字符。另外,我正在转换“?”成一个占位符值“.”。但是,当我运行编译后的代码时,我收到此错误,因为字符串将特殊字符转换为常规字母。如何让编译器注册这些特殊字符来执行功能?
【问题讨论】: