gpt4 book ai didi

java - .replaceAll() 方法无法正常工作

转载 作者:行者123 更新时间:2023-12-01 18:33:01 24 4
gpt4 key购买 nike

作为问题的一些背景,我加载到一个文本文件中,然后从该文本文件中分配一个短语以成为 randomPirateWord,然后我将字母更改为该文本文件中的字母以成为 ** 的并且可以正常工作。但是,当我要求用户猜测一个字母时,它无法正常工作,如果他们猜错了,那么代码可以正常工作,但如果他们猜对了字母,代码就无法正常工作。我已将错误消息放在代码下方:

if (!escape.equalsIgnoreCase("m")){
System.out.print(" Type the letter you want to guess: ");
char letter = input.nextLine().charAt(0);

if(m.getRandomPirateWord().contains(letter+"")){
System.out.println(m.getRandomPirateWord().replaceAll("*",letter+""));
}
<小时/>
Error message:
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
*
^
at java.util.regex.Pattern.error(Pattern.java:1924)
at java.util.regex.Pattern.sequence(Pattern.java:2090)
at java.util.regex.Pattern.expr(Pattern.java:1964)
at java.util.regex.Pattern.compile(Pattern.java:1665)
at java.util.regex.Pattern.<init>(Pattern.java:1337)
at java.util.regex.Pattern.compile(Pattern.java:1022)
at java.lang.String.replaceAll(String.java:2162)
at uk.ac.aber.dcs.pirate_hangman.TextBasedGame.runTextBasedGame(TextBasedGame.java:45)
at uk.ac.aber.dcs.pirate_hangman.Application.runApplication(Application.java:19)
at uk.ac.aber.dcs.pirate_hangman.Main.main(Main.java:6)

最佳答案

使用String#replace()而不是String#replaceAll()。后者使用正则表达式模式进行替换,其中 * 是元字符,需要转义。

关于java - .replaceAll() 方法无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23289902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com