如何通过替换与另一个字符串中的字符相同的位置的下划线来将字符串与下划线合并在一起。这个函数来 self 正在制作的一个套接字刽子手游戏
即 鸡:
c__c___
__i____
我当前的代码是: c__c_____i____
期望的结果: c_ic___
我已经尝试过 .replaceall() 但它在字母双倍的单词中出现错误
public static void strip(String input){
String newBlank = "";
for(int i = 0; i < word.length(); i++){
if (word.charAt(i) == input.charAt(0)){
newBlank += input.charAt(0);
} else if(blank.contains(word)){
newBlank += guess.charAt(i);
} else {
newBlank += '_';
}
}
//Had replace all here
blank = newBlank.replace("_", "");
如果我有 blank = newBlank.replace("_", "");
像 'apple' 这样的单词就可以工作,因为它有两个相邻的字母 'pp',但是像 Chicken End 这样的单词成为“cchiken”。
最佳答案
String str1 = "c__c___";
String str2 = "__i____";
StringBuilder output = new StringBuilder();
for (int i=0; i<Math.max(str1.length(), str2.length()); i++) {
char ch1 = str1.length() >= i ? '_' : str1.charAt(i);
char ch2 = str2.length() >= i ? '_' : str2.charAt(i);
char result;
if (ch1 == '_')
result = ch2;
else
result = ch1;
output.append(result);
}
关于java - 将包含下划线的字符串合并在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61542367/