嘿傢伙的我試圖找到一種方法來隱藏一個字符串,但我發現的代碼只是與我的應用程序一起工作...有沒有辦法隱藏字符中的字符與「*」或「 - 」,如果有人可以請解釋一下面具字符串與字符
Q
面具字符串與字符
7
A
回答
7
這是做密碼嗎?考慮以下幾點:
或爲劊子手方法
class Hangman {
final String word;
final BitSet revealed;
public Hangman(String word) {
this.word = word;
this.revealed = new BitSet(word.length());
reveal(' ');
reveal('-');
}
public void reveal(char c) {
for(int i = 0; i < word.length; i++) {
if(word.charAt(i) == c) revealed.set(i);
}
}
public boolean solve(String guess) {
return word.equals(guess);
}
public String toString() {
StringBuilder sb = new StringBuilder(word.length());
for(int i = 0; i < word.length; i++) {
char c = revealed.isSet(i) ? word.charAt(i) : "*";
}
return sb.toString();
}
}
3
只需創建一個具有相同數目的字符作爲您的原始的字符串,而不是你的「混淆」字。
String x = "ABCD";
String output = "";
for (int i = 0; i < x.length(); i++) {
output += "*";
}
或者,您也可以使用x.replaceAll("\\S", "*")
,這也將保留空白。
1
你可以很容易地實現這樣的事情:
public class MaskedString
{
private String data;
public MaskedString(String data){this.data = data;}
public void append(char c){data += c;}
public void setData(String data){this.data = data;}
public String getMasked()
{
StringBuilder sb = new StringBuilder();
for(int i=0; i<data.length(); i++)
sb.append('*');
return sb.toString();
}
public String getString()
{
return data;
}
}
你的想法:)
1
有幾種方法來實現這一目標,這將取決於你的應用程序。
如果你想用一個字符一舉掩蓋所有字符,你可以使用String#replaceAll(String regex, String replacement)
方法:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String)。
這涉及到使用正則表達式,對於regex
,您將使用[\s\S]
,它將匹配任何空格或非空白字符。對於replacement
,您使用常規字符串,而不是RegEx。在這種情況下,如果你想要星號,使用「*」作爲連字符「 - 」,非常簡單。
除了@Roddy of the Frozen Pea
和@djc391
之外,其他所有方法都可以很好地工作,所以這就是我正確回答的原因。
祝你好運
相關問題
- 1. 與字符串字面
- 2. JSTL格式字符串與面具
- 3. 轉換字符串字符串字面
- 4. 字符串在字符串字面
- 5. inputStream字符串與字符串字面值不同
- 6. 字符串與字節字符串
- 7. 字節字符串字面與非ASCII字符
- 8. 與初始化字符串字面
- 9. 寬字符字符串字面值
- 10. 字符串替換與字符串
- 11. 與字符串比較字符串值
- 12. 字符串與精度字符串
- 13. string.IsNullOrEmpty(字符串)與string.IsNullOrWhiteSpace(字符串)
- 14. 與字符串
- 15. 與字符串
- 16. 與字符串
- 17. 查找字符串的面具在PHP
- 18. PHP獲得基於字符串面具
- 19. SQLite的字符串字面
- 20. 當對字符串字面
- 21. java中字符串替換字符串與字符
- 22. 字符串與另一個字符串字符的比較
- 23. 保存含有<>字符與字符串的字符串
- 24. Leftrimming Zero與字符串中包含的字符與字符
- 25. 打字稿 - 字符串字面型,將字符串
- 26. 字符串與符號
- 27. 的Clojure 1.8字符串與具有 '\\ R'
- 28. 得到字符串後的字符串的具體數字
- 29. C++與字符串文字
- 30. 字符串與非字母
你到目前爲止做了什麼? – kosa
你是什麼意思,「隱藏一個字符串」?你不能只顯示一個與原始長度相同的「*」字符串嗎?你只想隱藏*一些*字符?反對一種模式?長度? –
是的,正如Dave Newton所說的,可以用任何你想要的方法來替換字符串的一部分或者整個字符串,但是你必須對你期望的結果更具體。你能否給我們一個具體的例子,顯示原始字符串,以及你希望它在'替換'後的樣子。 –