java - 将包含下划线的字符串合并在一起

标签 java

如何通过替换与另一个字符串中的字符相同的位置的下划线来将字符串与下划线合并在一起。这个函数来 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/

相关文章:

java - 未获取 Web 服务响应中值为 "null"的元素

java - Spark 转换和 Action 的逻辑是否需要线程安全?

java - 解析Android获取用户列表

java - DAO方法错误: Parameter index out of range

java - 机器人类右键单击然后左键单击问题

JAVA——关于ArrayList

java - 在 contains() 找到序列的位置查找字符索引

java - TAB 在表单中移动

java - 解密图像时,给出 javax.crypto.BadPaddingException : pad block corrupted Android

java - 尝试更新 src/web/prod 文件夹(jsp)中的文件