2018. 1. 24. 22:01ㆍBASIC/java
코딩을 하다보면 문자열 비교에 대해 다양한 방법이 필요하게 된다.
* startWith
문자열이 지정된 문자로 시작하는지 판단 ( true : false ) + 대·소 문자를 구별합니다. ( 0부터 카운트 )
String str = "abbb"; System.out.println(str.startsWith("a")); System.out.println(str.startsWith("a", 0)); System.out.println(str.startsWith("a", 1)); // result : true, true, false
* endWith
문자열이 지정된 문자로 끝나는지 판단 ( true : false ) + 대·소 문자를 구별합니다.
String str = "abcd"; System.out.println(str.endsWith("d")); // result : true
* equals
대입된 두 String의 값(value)만 비교 ( true : false ) + 대·소 문자를 구별합니다.
String str1 = "java"; String str2 = "java"; System.out.println(str1.equals(str2)); // result : true
* indexOf
지정된 문자가 해당 문자열에 처음 부터 몇번째 인덱스에 위치하는지 반환 ( 0 부터 카운트 )
String str = "abcedf"; System.out.println(str.indexOf("a")); System.out.println(str.indexOf("f")); // result : 0, 5
* lastindexOf
지정된 문자가 해당 문자열의 뒤에서 부터 몇번째 인덱스에 위치하는지 반환 ( 0 부터 카운트 )
String str = "AbcdA"; System.out.println(str.lastIndexOf("A")); // result : 4
* length
지정된 문자열의 길이를 반환 ( 1부터 시작 )
String str = "abcd"; System.out.println(str.length()); // result : 4
* replace
문자열에 지정된 문자를 찾아 설정한 새로운 문자로 변환
String str = "abcd"; System.out.println(str.replace("d", "D")); System.out.println(str); System.out.println(str.replace("d", "DD")); // result : abcD, abcd, abcDD // 출력 때에만 적용되고 원래 값은 변하지 않는다. // 문자 뿐만 아니라 문자열로 치환되기도 한다.
* replaceAll
정규 표현식을 지정한 문자로 변환
String str = "A B C"; System.out.println(str.replaceAll("\\p{Space}", "-")); // result : A-B-C
* split
지정된 문자열을 설정한 문자로 나눔 ( 배열로 반환 )
String str = "a:b:c"; System.out.println(str.split(":")[0]); System.out.println(str.split(":")[1]); // result : a, b // 결과 값이 배열로 저장되어 출력된다
* substring
문자열에 지정한 범위에 속하는 문자열을 반환 ( 시작 값 포함, 끝나는 값 미포함 )
String str = "abcdef"; System.out.println(str.substring(0,3)); // result : abc
* toLowerCase
문자열의 모든 대문자를 소문자로 변환
String str = "ABCd"; System.out.println(str.toLowerCase()); // result : abcd
* toUpperCase
문자열의 모든 소문자를 대문자로 변환
String str = "ABCd"; System.out.println(str.toLowerCase()); // result : abcd
* toString
지정된 문자열을 그대로 반환
String str = "abcd"; System.out.println(str.toString()); // result : abcd;
* trim
문자열에 공백을 제거
String str = " a b c "; System.out.println(str.trim()); // result : a b c // 시작과 끝 공백은 제거되나 문자열 중간의 공백은 지우지 못했음
* valueOf
지정된 개체(object)의 원시 값(기호나 데이터타입 무시)을 반환
int a = 12345; long b = 123L; char c = '1'; double d = 1234; float e = 1.23f; System.out.println(String.valueOf (a)); System.out.println(String.valueOf (b)); System.out.println(String.valueOf (c)); System.out.println(String.valueOf (d)); System.out.println(String.valueOf (e)); // result : 12345, 123, 1, 1234.0, 1.23 // int, long, char에만 해당한다. (String은 자체이기에 제외)
* compareTo
두 개의 String을 순차적으로 비교 후 다른 부분
String str1 = "ABC"; // ABC 순서 기준 (앞부터 순차적비교) String str2 = "ABD"; // AB 중복 > 1개 틀림 String str3 = "CAB"; // C 중복 > 2개 틀림 String str4 = "DEF"; // 중복 없음 > 3개 틀림 System.out.println(str1.compareTo(str2)); System.out.println(str1.compareTo(str3)); System.out.println(str1.compareTo(str4)); // result : -2, -2, 1, -3 // 두 String 값을 비교하여 다른 부분들을 카운트하여 반환 // 앞부터 순차적으로 비교하기에 처음 중복되는 값이 중요
* contains
두 개의 String을 비교하여 비교 대상의 String 포함 여부 반환 ( true : false )
String str = "abcdef"; System.out.println(str.contains("c")); System.out.println(str.contains("abc")); // result : true, true
* charAt
지정한 index에 해당하는 문자를 반환
String str = "abcedf"; System.out.println(str.charAt(0)); System.out.println(str.charAt(3)); // result : a, e
* concat
문자와 문자를 결합
String str1 = "AB"; String str2 = "CD"; System.out.println(str1.concat(str2)); // result : ABCD
* format
서식 문자열을 이용하여 서식화된 문자열을 반환
int i = 123456789; String str = String.format("%,d", i); System.out.println(str); // result : 123,456,789 // 서식화 하여 문자열 반환
* matches
지정한 정규 표현과의 일치 여부 반환 ( true : false )
int i = 123456; String str1 = String.format("%,d", i); String str2 = "123456"; String str3 = "123,456"; System.out.println(str1.matches(str2)); System.out.println(str1.matches(str3)); // result : false, true
* replaceFirst
문자열에 지정한 문자가 존재하면 첫번째 값을 지정한 문자로 변환하고 나머지는 그대로 출력
String str = "Xess"; System.out.println(str.replaceFirst("X", "Succ")); // result : Success
'BASIC > java' 카테고리의 다른 글
java : String to int = int to String (String과 int의 형변환) (0) | 2018.01.31 |
---|---|
java : 현재시간 구하기 (calender클래스, 시스템 타이머) (0) | 2018.01.01 |