java : java의 모오오오오든 문자열 함수 총정리 !

2018. 1. 24. 22:01BASIC/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