2017-02-11 195 views
-2

我有一段代码,它用短划线替换了所有的字符串。我该如何做到这一点,如果这个词包含一个空格,它不会冲破这个空间,而是将它留作空间。替换字符串字符的例外

代码:

public String hiddenWord(){ 
    word = randomWord.getRandomWord(); 
    String dashes = word.replaceAll(".", " _ "); 
    return dashes; 
} 
+2

不知道我理解的要求。你能分享一个示例输入和你想要的输出吗? – Mureinik

+0

基本上,随机单词被转换成所有短划线。问题是,我想要一个空间的例外。现在,即使是一个空间也是如此。 – DjDamage

+0

通常一个单词是空格之间的字符。你能举一个有空格的单词吗? –

回答

2

我想要一个空间异常。现在,即使是一个空间也是如此。

尝试

dashes = word.replaceAll("[^ ]", " _ "); // everything but space 

dashes = word.replaceAll("\\S", " _ "); // non white space 
+0

谢谢,这工作! – DjDamage

+0

供参考,重复:http://stackoverflow.com/questions/7940053/how-to-replace-all-characters-in-a-user-input-string-except-one –

+0

@TJCrowder我建议你关闭,虽然在这种情况下,非空白空间可能是更好的答案。 –