Java - 문자열에서 따옴표 제거

문자열에서 큰 따옴표, 작은 따옴표를 제거하는 방법을 소개합니다.

1. replace()로 큰 따옴표, 작은 따옴표 제거

replace(a, b)는 a를 b로 변경하는 함수입니다.

아래와 같이 큰 따옴표나 작은 따옴표를 빈 문자열로 변경하면 제거가 됩니다.

public class Example1 {

    public static void main(String[] args) {

        String str = "\"Hello, World\"";
        System.out.println(str);

        String newStr = str.replace("\"", "");
        System.out.println(newStr);
    }
}

Output:

"Hello, "My" World"
Hello, "My" World

위의 코드는 문자열의 따옴표를 모두 제거합니다. 따라서 아래 예제 처럼 문자열 중간에 있는 따옴표도 함께 제거가 됩니다. 만약 문자열의 시작과 끝의 따옴표만 제거하고 싶다면 어떻게 해야할까요?

public class Example1 {

    public static void main(String[] args) {

        String str = "\"Hello, \"My\" World\"";
        System.out.println(str);

        String newStr = str.replace("\"", "");
        System.out.println(newStr);
    }
}

Output:

"Hello, "My" World"
Hello, My World

2. replaceAll()로 큰 따옴표, 작은 따옴표 제거

replaceAll(pattern, str)는 pattern에 해당하는 문자열을 str로 변환합니다.

^\" 패턴은 문자열 맨 앞에 있는 큰 따옴표를 찾는 패턴이고, $\"는 문자열 맨 뒤에 있는 큰 따옴표를 찾는 패턴입니다.

이 패턴에 해당하는 문자열을 빈 문자열로 교체하면 문자열 중간에 있는 따옴표는 제거가 되지 않습니다.

public class Example2 {

    public static void main(String[] args) {

        String str = "\"Hello, \"My\" World\"";
        System.out.println(str);

        String newStr = str.replaceAll("^\"|\"$", "");
        System.out.println(newStr);
    }
}

Output:

"Hello, "My" World"
Hello, "My" World

위에서 사용한 정규표현식의 의미를 간단히 설명하였습니다.

  • ^ : 문자열의 시작을 의미하는 정규표현식
  • $ : 문자열의 끝을 의미하는 정규표현식
  • | : 두개 이상의 패턴을 입력할 때, 또는 과 같은 의미

물론, replaceAll()에 정규표현식 대신에 문자열만 전달해도 그 문자열과 일치하는 것을 빈 문자열로 교체할 수 있습니다.

public class Example {

    public static void main(String[] args) {

        String str = "\"Hello, World\"";
        System.out.println(str);

        String newStr = str.replaceAll("\"", "");
        System.out.println(newStr);
    }
}

Output:

"Hello, World"
Hello, World

3. 큰 따옴표를 작은 따옴표로 변환

아래 예제는 정규표현식으로 시작과 끝의 큰 따옴표를 작은 따옴표로 변환하는 코드입니다.

public class Example2 {

    public static void main(String[] args) {

        String str = "\"Hello, \"My\" World\"";
        System.out.println(str);

        String newStr = str.replaceAll("^\"|\"$", "'");
        System.out.println(newStr);
    }
}

Output:

"Hello, "My" World"
'Hello, "My" World'
Loading script...
codechachaCopyright ©2019 codechacha