我想在字符串被屏蔽时保留空格。下面是我为掩蔽字符串而编写的代码,但没有考虑到我的Arraylist中的一些字符串有空白区域。屏蔽字符串时保留空格
for (int i=0;i<secretWord.length();i++){
System.out.print("*");
}
我想在字符串被屏蔽时保留空格。下面是我为掩蔽字符串而编写的代码,但没有考虑到我的Arraylist中的一些字符串有空白区域。屏蔽字符串时保留空格
for (int i=0;i<secretWord.length();i++){
System.out.print("*");
}
System.out.print(secretWord.replaceAll("\\S","*"));
(在正则表达式,\S
意味着单个字符不是一个空白字符。)
你可以简单地检查一个字符是否为空格!
for (int i=0;i<secretWord.length();i++){
if(secretWord.charAt(i)!=' ')
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
我倾向于利用一切机会在单行if块上推广'{}'。这种方式更容易阅读和容易出错。 –
@ user3430741欢迎您! :-) – Devavrata
我认为你正在寻找的,以空间的性格和空间*掩盖字符串。
这样做:
for (int i=0 ; i<secretWord.length() ; i++){
if(Character.isWhitespace(charAt(i))){
System.out.print(charAt(i));
}else{
System.out.print("*");
}
}
'secretWord.charAt(i)==“”'应该是'secretWord.charAt(i)==''' –
@MikeB谢谢Mike。我忘了这是一个角色。 :) –
标签和其他空白字符呢?请参阅@ajb解决方案 - 它更复杂。 –
您可以使用'charAt()'并检查当前字符是否为空格。 –