Flutter/Dart - 두 문자열이 같은지 비교

두개의 문자열이 같은지 비교하는 방법을 소개합니다.

1. == 연산자를 이용한 방법

str1 == str2str1str2가 같을 때 true를 리턴하고, 그렇지 않으면 false를 리턴합니다.

그리고 문자열을 비교할 때, 대소문자를 구별하여 비교합니다.

아래와 같이 문자열을 비교할 수 있습니다.

void main() {

    String str1 = "Hello, Dart";
    String str2 = "Hello, Java";
    String str3 = "Hello, Dart";
    String str4 = "hello, dart";

    print(str1 == str2);
    print(str1 == str3);
    print(str1 == str4);
}

Output:

false
true
false

1.1 대소문자 구분 없이 비교 (Case Insensitive)

대소문자 구분 없이 비교하려면, toLowerCase() 또는 toUpperCase()를 이용하여 두 문자열을 모두 소문자 또는 대문자로 변경하거나 == 연산자로 비교하면 됩니다.

아래와 같이 대소문자 구분 없이 비교할 수 있습니다.

void main() {

    String str1 = "Hello, Dart";
    String str2 = "Hello, Java";
    String str3 = "Hello, Dart";
    String str4 = "hello, dart";

    print(str1.toLowerCase() == str2.toLowerCase());
    print(str1.toLowerCase() == str3.toLowerCase());
    print(str1.toLowerCase() == str4.toLowerCase());
}

Output:

false
true
true

2. compareTo()를 이용한 방법

str1.compareTo(str2)는 str1과 str2를 비교하여 그 결과를 아래와 같이 리턴합니다.

  • Zero : str1과 str2가 같을 때 0을 리턴
  • Positive : str1과 str2가 다르며, 정렬 순서에서 str1이 클 때 양수를 리턴
  • Negative : str1과 str2가 다르며, 정렬 순서에서 str1이 작을 때 음수를 리턴

아래와 같이 compareTo()를 사용하여 문자열을 비교할 수 있습니다.

void main() {

    String str1 = "Hello, Dart";
    String str2 = "Hello, Java";

    int result = str1.compareTo(str2);
    if (result == 0) {
        print("str1 is equal to str2");
    } else if (result > 0) {
        print("str1 is greater than str2");
    } else if (result < 0) {
        print("str1 is less than str2");
    }
}

Output:

str1 is less than str2

2.1 두 문자열이 같은지 비교

만약 compareTo()로 단순히 두 문자열이 같은지만 비교하려면, 아래와 같이 리턴 값이 0인지 비교하여 결과를 얻으면 됩니다.

void main() {

    String str1 = "Hello, Dart";
    String str2 = "Hello, Java";
    String str3 = "Hello, Dart";
    String str4 = "hello, dart";

    print(str1.compareTo(str2) == 0);
    print(str1.compareTo(str3) == 0);
    print(str1.compareTo(str4) == 0);
}

Output:

false
true
false
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha