How to replace all characters in a user input string except one

℡╲_俬逩灬. 提交于 2019-12-19 19:56:38

问题


I'm currently in an introductory level Java class, and am working on the classic phrase guess assignment. The object is for one user to enter a secret phrase, and another to guess it one letter at a time. Between guesses, the phrase must be displayed as all question marks except the letters that were guessed correctly. Our class has only really covered some very basic methods, if-else statements and loops up to this point, but I'm trying to research some string methods that may make this a bit easier.

I know of the replace(), replaceAll() and contains() methods, but was wondering if there is a method which allows you to replace all but one character of your choice in a string.

Thanks in advance


回答1:


The easiest way is probably to use String.replaceAll():

String out = str.replaceAll("[^a]", "?");

This will leave all letters a intact and will replace all other characters with question marks.

This can be easily extended to multiple characters, like so:

String out = str.replaceAll("[^aeo]", "?");

This will keep all letters a, e and o and will replace everything else.



来源:https://stackoverflow.com/questions/7940053/how-to-replace-all-characters-in-a-user-input-string-except-one

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!