String클래스에는 다양한 메소드들이 존재하지만 그 중에 유용하게 많이 사용되는 것들을 모아보았다.
1. 문자열 자르기(추출하기) - substring
String substring(int start) : start부터 끝까지
String substring(int start, int end) : start부터 end까지
String string = "abcdefgh";
String sub1 = string.substring(5);
String sub2 = string.substring(1,4);
결과는 !!
sub1 = "efgh"
sub2 = "bcd"
substring(int start , int end)에서 중요한 점은 매개변수로 사용되는 문자열에서 각 문자의 위치를 뜻하는 index가 0부터 시작한다는 것과 start부터 end의 범위 중 end위치에 있는 문자는 결과에 포함되지 않는다는 것이다. 따라서 예제의 string.substring(1, 4)에서는 1, 2, 3위치인 b, c, d가 추출된다.
2. 문자열 나누기 - split
String[] split(String divider)
문자열을 지정된 분리자(divider)로 나누어 문자열 배열에 담아 반환 한다.
String numbers = "123/45678/90";
String[] arr = animals.split("/");
결과는 !!
arr[0] = "123"
arr[1] = "45678"
arr[2] = "90"
3. 문자열에 포함된 문자 검사 - contains
boolean contains(charSequence s)
지정된 문자열(s)이 포함되었는지 검사 한다.
String string = "abcdefgh";
boolean b = string.contains("efg");
결과는 !!
b = true
4. 문자열 시작 또는 끝 부분 검사 - startWith, endsWith
boolean startWith(String s) : 지정된 문자열(s)로 시작하는지 검사 한다.
boolean endsWith(String s) : 지정된 문자열(s)로 끝나는지 검사 한다.
String string1 = "http://www.google.com";
boolean b1 = string.endsWith("http");
String string2 = "Hello programming";
boolean b2 = string.endsWith("ing");
결과는 !!
b1 = true
b2 = true
5. 문자열 일치 여부 검사 - equals
boolean equals(Object obj)
매개변수로 받은 문자열(obj)과 String인스턴스의 문자열을 비교해서 똑같은가를 판단한다. 똑같다면 true를 반환하고, obj가 String이 아니거나 문자열이 다르면 false를 반환한다. String 클래스는 equals 메소드를 오버라이드 해서 사용한다.
String string = "Android";
boolean b1 = s.equals("Android");
boolean b2 = s.equals("android");
결과는 !!
b1 = true
b2 = false
6.문자열 바꾸기(치환) - replace
String replace(CharSequence old, CharSequence new)
문자열 중의 문자열(old)을 새로운 문자열(new)로 모두 바꾼 문자열을 반환 한다.
String string = "abcdefgh";
String string2 = s.replace("cd","ZZ"));
결과는 !!
string2 = "abZZefgh"
바꿀 문자열이 많은 경우에는 replaceAll(Charsequence old, CharSequence new)를 사용한다.
7. 문자열의 문자열 길이 구하기 - length
int length()
문자열의 길이를 반환한다.
String string1 = "android";
String string2 = "초보코딩왕";
int length1 = string1.length();
int length2 = string2.length();
결과는 !!
length1 = 7;
length2 = 5;
8. 문자열의 대문자를 소문자로 바꾸기 - toLowerCase
String toLoweCase()
String 인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환 한다.
String string = "Hello World Java Programming";
String lower = string.toLowerCase();
결과는 !!
lower = "hello world java programming"
9. 소문자를 대문자로 바꾸기 - toUpperCase
String toUpperCase()
String 인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환 한다.
String string = "Hello World Java Programming";
String upper = string.toUpperCase();
결과는 !!
upper = "HELLO WORLD JAVA PROGRAMMING"
10. 문자열 좌우 공백 없애기 - trim
String trim()
문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤다. 문자열 중간에 있는 공백은 제거되지 않는다.
String string = " Hello World ";
String trim = string.trim();
결과는 !!
trim = "Hello World"
11. 다른 자료형의 변수를 문자열로 변환하기 - valueOf
String valueOf(boolean b)
String valueOf(char c)
String valueOf(int i)
String valueOf(long l)
String valueOf(float f)
String valueOf(double d)
String valueOf(Object o)
지정된 값을 문자열로 변환하여 반환 한다.
참조변수의 경우, toString()을 호출한 결과를 반환 한다.
String b = String.valueOf(true); -> boolean 형
String c = String.valueOf('a'); -> char 형
String i = String.valueOf(100); -> int 형
String l = String.valueOf(100L); -> long 형
String f = String.valueOf(10f); -> float 형
String d = String.valueOf(10.0); -> double 형
java.util.Date dd = new java.util.Date();
String date = String.valueOf(dd); -> date 형
결과는 !!
b = "true"
c = "a"
i = "100"
l = "100"
f = "10.0"
d = "10.0"
date = "Sub Oct 27:20:21:21 KST 2013"
[출처] 초보코딩왕의 Power Dev. (ccdev.tistory.com/11)