2014-04-15 103 views
0

我想在字符串被屏蔽時保留空格。下面是我爲掩蔽字符串而編寫的代碼,但沒有考慮到我的Arraylist中的一些字符串有空白區域。屏蔽字符串時保留空格

for (int i=0;i<secretWord.length();i++){ 
    System.out.print("*"); 
} 
+3

您可以使用'charAt()'並檢查當前字符是否爲空格。 –

回答

2
System.out.print(secretWord.replaceAll("\\S","*")); 

(在正則表達式,\S意味着單個字符不是一個空白字符。)

2

你可以簡單地檢查一個字符是否爲空格!

for (int i=0;i<secretWord.length();i++){ 
    if(secretWord.charAt(i)!=' ') 
    { 
     System.out.print("*"); 
    } 
    else 
    { 
     System.out.print(" "); 
    } 
} 
+1

我傾向於利用一切機會在單行if塊上推廣'{}'。這種方式更容易閱讀和容易出錯。 –

+0

@ user3430741歡迎您! :-) – Devavrata

2

我認爲你正在尋找的,以空間的性格和空間*掩蓋字符串。
這樣做:

for (int i=0 ; i<secretWord.length() ; i++){ 
     if(Character.isWhitespace(charAt(i))){ 
      System.out.print(charAt(i)); 
     }else{ 
      System.out.print("*"); 
      } 
    } 
+1

'secretWord.charAt(i)==「」'應該是'secretWord.charAt(i)==''' –

+0

@MikeB謝謝Mike。我忘了這是一個角色。 :) –

+0

標籤和其他空白字符呢?請參閱@ajb解決方案 - 它更復雜。 –

相關問題