자주 사용하는 String 클래스의 메소드들을 정리해보려고 한다.
- startsWith : 문자열이 지정한 문자로 시작하는지 판단, 같으면 true 다르면 false 반환. (대소문자 구별)
String str = "apple";
boolean result = str.startsWith("a");
System.out.println(result); // true
- endsWith : 문자열 마지막이 지정한 문자로 끝나는지 판단, 같으면 true 다르면 false 반환. (대소문자 구별)
String str = "apple pie";
boolean result = str.endsWith("e");
System.out.println(result); // true
- equals : 두개의 String의 값만을 비교해서 같으면 true, 다르면 false 반환. (대소문자 구별)
String str1 = "Tistory";
String str2 = "tistory";
boolean result = str1.equals(str2);
System.out.println(result); // false
- equalsIgnoreCase : 대소문자를 무시하고 두개의 String 값을 비교해서 같으면 true, 다르면 false 반환.
String str1 = "Tistory";
String str2 = "tistory";
boolean result = str1.equalsIgnoreCase(str2);
System.out.println(result); // true
- indexOf : 지정한 문자가 문자열의 몇번째에 있는지를 반환.
String str = "abcdef";
int index = str.indexOf("d");
System.out.println(index); // 3
- lastIndexOf : 문자열에 지정한 문자 중에서 가장 마지막에 있는 문자가 몇번째에 있는지를 반환.
String str = "AndroidApp";
int lastIndex = str.lastIndexOf("A");
System.out.println(lastIndex); // 7
- length : 문자열의 길이를 반환.
String str = "abcdef";
int length = str.length();
System.out.println(length); // 6
- replace : 문자열에 찾고자하는 문자가 있으면 새로 지정한 문자로 바꿔서 반환.
String str = "A*B*C*D";
String replace = str.replace("*", "-");
System.out.println(str); // A*B*C*D
System.out.println(replace); // A-B-C-D
- replaceAll : 정규표현식에 해당하는 문자를 지정한 문자로 바꿔서 반환.
String str = "aabbccabcddabcee";
String replaceAll = str.replaceAll("[abc]", "*");
System.out.println(str); // aabbccabcddabcee
System.out.println(replaceAll); // *********dd***ee
- split : 지정한 구분자로 문자열을 나누어 배열로 반환.
String str = "A:B:C:D:abcd";
String[] split = str.split(":");
for (String s : split) {
System.out.print(s + " ");
} // A B C D abcd
- substring : 문자열에 지정한 범위에 속하는 문자열을 반환. (시작범위는 포함, 끝나는 범위는 포함되지 않는다)
String str = "ABCDEF";
String sub1 = str.substring(0);
String sub2 = str.substring(0, 4);
System.out.println(sub1); // ABCDEF
System.out.println(sub2); // ABCD
- toLowerCase : 문자열을 모두 소문자로 바꿔서 반환.
String str = "abcDEF";
String toLowerCase = str.toLowerCase();
System.out.println(str); // abcDEF
System.out.println(toLowerCase); // abcdef
- toUpperCase : 문자열을 모두 대문자로 바꿔서 반환.
String str = "abcDEF";
String toUpperCase = str.toUpperCase();
System.out.println(str); // abcDEF
System.out.println(toUpperCase); // ABCDEF
- toString : 문자열을 그대로 반환. (Object가 null 일 경우 Null PointerException(NPE)이 발생)
String str = "1234";
String toString = str.toString();
System.out.println(toString); // 1234
- trim : 문자열의 앞 뒤 공백을 제거해서 반환.
String str = " java java java ";
String trim = str.trim();
System.out.println(str); // java java java
System.out.println(trim); // java java java
- valueOf : 지정한 객체의 값을 String으로 변환해서 반환. (Object가 null 일 경우 "null" 문자열로 처리)
int i = 12345;
long l = 1L;
char c = '1';
String s = "hello";
String n = null;
System.out.println(String.valueOf(i)); // 12345
System.out.println(String.valueOf(l)); // 1
System.out.println(String.valueOf(c)); // 1
System.out.println(String.valueOf(s)); // hello
System.out.println(String.valueOf(n)); // null
- compareTo : 두개의 String을 앞에서부터 순차적으로 사전적 순서로 비교하고 int형 값을 반환. (같으면 0, 비교하는 수보다 크면 양수, 작으면 음수 반환)
String A = "A";
String B = "B";
String AB = "AB";
String str = "A";
System.out.println(A.compareTo(B)); // -1
System.out.println(A.compareTo(str)); // 0
System.out.println(B.compareTo(A)); // 1
System.out.println(A.compareTo(AB)); // -1
- contains : 두개의 String을 비교해서 비교대상 String을 포함하고 있으면 true, 아니면 false 반환.
String str1 = "abcd";
String str2 = "c";
boolean result = str1.contains(str2);
System.out.println(result); // true
- charAt : 지정한 index에 있는 문자를 char형으로 반환.
String str = "charAt";
char charAt = str.charAt(2);
System.out.println(charAt); // a
- concat : 두개의 String을 순서대로 결합해서 반환.
String str1 = "comkkyu";
String str2 = " world";
String concat = str1.concat(str2);
System.out.println(concat); // comkkyu world
- format : 서식문자열을 이용해서 서식화된 문자열을 반환.
int i = 123456789;
String str = String.format("%,d", i);
System.out.println(str); // 123,456,789
- matches : 지정한 정규 표현과 일치 할 때 true 반환.
int i = 123456;
String str1 = String.format("%,d", i); // 123,456,789
String str2 = "123456";
boolean result = str1.matches(str2);
System.out.println(result); // false
- replaceFirst : 문자열에 지정 문자가 있으면 처음으로 나타나는 문자만 새로 지정한 문자로 바꿔서 반환.
String str = "A world";
String replaceFirst = str.replaceFirst("A", "comkkyu");
System.out.println(replaceFirst); // comkkyu world
'프로그래밍 > java' 카테고리의 다른 글
[자료구조] 배열(Array)의 정의 및 장단점, 기본 사용법 (0) | 2021.03.10 |
---|---|
[String] String, StringBuffer, StringBuilder 차이 (0) | 2021.03.07 |