【发布时间】:2015-04-13 09:11:41
【问题描述】:
我一直在尝试从字符串数组中删除特定字符,但仍然失败。字符是“$”,我不知道我做错了什么,所以希望有人能够指出正确的方向,我的代码:
for (int y = 0; y<possibleAnswers.length;y++) {
display = possibleAnswers[y].replaceAll("$", "");
System.out.println(display);
}
possibleAnswers 包含 4 个字符串,其中 4 个字符串中有一个“$”,我想在显示之前将其删除。
当我运行上面的代码时,会显示“$”,有什么想法吗?
【问题讨论】:
-
你完全误解了
replaceAll的目的。您应该阅读文档并发现,replaceAll是替换正则表达式的方法,而不仅仅是精确匹配的字符串。这里应该使用replace。 -
除了 Dmitry Ginzburg 所说的。在正则表达式中,
$具有特殊含义,即行尾。意味着,您正在用空白替换行尾字符。 -
抱歉,您的回答是正确的,我现在在我的代码中使用它,这就是我正在寻找的方法。我没有阅读文档,这是我的错。
-
Ashwani,我正在制作一个“谁想成为百万富翁”的游戏,这就是为什么我有一个由四个字符串组成的数组,其中一个有一个 $ 符号表示正确答案。我想在显示之前将其删除,但在此之前,请记录正确答案,以便稍后与用户输入进行比较。我还有什么其他选择?我应该使用不同的字符吗?还是有完全不同且更有效的方法?
标签: java arrays string replace char