>

Java에서 char을 ''로 바꾸려고했습니다. 그러나 "빈 리터럴 문자"오류가 표시됩니다. 특정 문자에 대한 조건이 있어야합니다. 빈 문자 하나는 포함하지 마십시오. 예제 코드는 다음과 같습니다.

for(int i=0; int<name.length;i++){
    name=name.replace(name.charAt(i),'');
    }

어떻게해야합니까? 도울 수 있니 ?

  • 답변 # 1

    아무것도 나타내는 캐릭터를 가질 수 없습니다. 길이가 0 인 문자 시퀀스, 즉 빈 문자열이 필요합니다.

    따라서 첫 번째 인수도 다음을 사용하도록 변환해야합니다. String, String 서명.

    name = name.replace(Character.toString(name.charAt(i)), "");
    
    

  • 답변 # 2

    특정 문자를 제거하려면 다음과 같이 시도하십시오.

    //Convert String to CharArray
       char[] ch = name.toCharArray();
       String newName = "";
       for (char c: ch) {
        if (wantThisCharacter(c)) newName+=c;
    }
        name = newName;
    
    

  • 답변 # 3

    바꾸다

    name=name.replace(name.charAt(i),'');
    
    

    name=name.replace(name.charAt(i), '\0');
    
    

    데모:

    public class Main {
        public static void main(String[] args) {
            String name = "Hello";
            System.out.println(name.replace(name.charAt(0), '\0'));
        }
    }
    
    

    산출:

    ello
    
    

  • 이전 javascript - 일반 구성 요소에 대한 콘크리트 유형 정의
  • 다음 javascript - Jest`toHaveBeenCalledWith ()`블록 내에서`expectstringContaining ()`을 사용할 수 있습니까?