将字符串转换为“_”

问题描述:

我试图从一个txt文件转换为多个“_”字 例如, 让我说我必须要字狗我希望它打印像_ _ _ 所以比用户可以猜出字母 我已经试过这种方式,但是没有奏效。将字符串转换为“_”

for(int i=0;i<randomWordLength;i++){ 
        Integer.toString(i); 
        i=symbol; 
        System.out.println(i); 
       } 
+2

@Andreas你应该发布这个答案(我认为它是*答案) – Bohemian

+0

@Bohemian好了,完成了! – Andreas

这种方法适用于任何字。

String wordToGuess = "Hello"; 

for (int i = 0; i < wordToGuess.length(); i++) { 
    System.out.print("_ "); 
} 
System.out.println(); 

你能做到在这样的一行:

System.out.println(word.replaceAll(".", "_ ").trim()); 

trim()有删除最后一个尾随空格。如果字符串只是像这样打印出来的,那么它仍然不可见,所以您可以删除trim()呼叫。这里包括了完整性。

+1

与此相关的一个问题是它也会替换空格和连字符(如果有的话)。我建议将它改为'word.replaceAll(“[A-Za-z]”,“_”).trim()',以便它只替换字母。 –

+1

@JacobG。嵌入非字母的单词不在这个问题的范围之内,因为OP只是使用“长度”值。即使你想支持它,那么这个代码也不会这样做,因为例如''重新做''会变成''_ ___ _“',在'-'之后没有空格。处理嵌入式非字母需要更复杂的逻辑,正如我所说的,这个问题已经超出了范围。 – Andreas