Seize the day

POST : Android Dev Study

간단히 만들어 본 String#indexOfIgnoreCase

Java String 클래스에는 indexOf는 있는데 대소문자를 구분하지 않는 것은 없어서 간단히 만들어보았음..


private static final int INDEX_NOT_FOUND = -1;

public static int indexOfIgnoreCase(@Nullable String str, @Nullable String searchStr) {
    return indexOfIgnoreCase(str, searchStr, 0);
}

public static boolean containsIgnoreCase(@Nullable String str, @Nullable String searchStr) {
    return indexOfIgnoreCase(str, searchStr, 0) >= 0;
}

public static int indexOfIgnoreCase(@Nullable String str, @Nullable String searchStr, int startPos) {
    if (str == null || searchStr == null) {
        return INDEX_NOT_FOUND;
    }
    if (startPos < 0) {
        startPos = 0;
    }
    final int endLimit = str.length() - searchStr.length() + 1;
    if (startPos > endLimit) {
        return INDEX_NOT_FOUND;
    }
    if (searchStr.length() == 0) {
        return startPos;
    }
    for (int i = startPos; i < endLimit; i++) {
        if (str.regionMatches(true, i, searchStr, 0, searchStr.length())) {
            return i;
        }
    }
    return INDEX_NOT_FOUND;
}


top

posted at

2017. 7. 12. 17:42


CONTENTS

Seize the day
BLOG main image
김대정의 앱 개발 노트와 사는 이야기
RSS 2.0Tattertools
공지
아카이브
최근 글 최근 댓글
카테고리 태그 구름사이트 링크