문자열 함수 정리하기
- valueOf(number)
해당 number를 String으로 변환하여 반환
String.valueOf(number);
- length()
문자열의 길이를 반환
- charAt(index)
해당 문자열의 index에 위치한 문자를 char형으로 반환
- startWith()
문자열이 지정한 문자로 시작하는지 판단 (대소문자 구분)
같으면 true 다르면 false
String str = "apple";
boolean startsWith = str.startsWith("a"); //true
- equals()
String값을 비교해서 같으면 true, 다르면 false 반환
- indexOf()
문자가 문자열 어디에 위치하는지 index 값 반환 (0부터 시작)
String str = "abcdef";
int indexOf = str.indexOf("d"); //3
- lastindexOf()
지정 문자 중 문자열에서 마지막 문자가 위치하는 index 반환 (0부터 시작)
- replace()
문자열 바꾸기 (치환)
String str = "A*B*C*D";
String replace = str.replace("*", "-");
- replaceAll()
첫번째 인자에 정규식이 들어가는 것이 replace와의 차이
따라서 replace를 통하여 처리하지 못하는 문자열 처리 가능
String str = "aaabbbccccabcddddabcdeeee";
String result1 = str.replace("abc", "*"); // aaabbbcccc*dddd*deeee
String result2 = str.replaceAll("[abc]", "*");
// *************dddd***deeee
// a or b or c 3가지의 문자를 만나면 전부 치환대상이 된다.
- 문자열.split()
문자열 자르기. 자른 문자열을 배열에 넣어준다 (반환값 : 문자 배열)
- substring(시작 index, 종료 index)
문자열 자르기
ex) 마지막 세 글자 자르기, 특정 문자 이후 자르기, 특정 단어만 자르기...
String str = "ABCDEFG";
String result = str.substring(str.length()-3, str.length()); //EFG
- 문자열.toLowerCase()
대문자 -> 소문자
- 문자열.toUpperCase()
소문자 -> 대문자
- trim()
문자열 앞, 뒤 공백 없애기
str.trim();
- compareTo() : 기준값.compareTo(비교값)
두 개의 String를 앞에서부터 순사적으로 비교하다가 틀린부분이 있으면 비교하는 String에 캐릭터 값을 반환한다.
* 문자 비교: 다른 문자 갯수만큼 리턴(대소문자 구별)
- compare(기준값, 비교값)
* 숫자 비교: 같으면 0, 기준값이 더 크다면 1, 비교값이 더 크다면 -1
public class CompareExample {
public static void main(String... args) {
//결과는 -1
System.out.println(Integer.compare(1, 2));
//결과는 0
System.out.println(Integer.compare(2, 2));
//결과는 1
System.out.println(Integer.compare(3, 2));
}
}
- 문자열.contains()
포함하고 있는지 비교
포함하면 true, 포함하지 않으면 false 반환
String str1 = "abcd";
String str2 = "c";
boolean contains = str1.contains(str2); //true
- concat(결합할 문자열, ...)
문자 문자 결합
String string_res = string1.concat(string2, string3[,..., stringN])
- format()
서식화된 문자열 반환
int i = 123456789;
String str = String.format("%,d", i); // , 천 단위
System.out.println("format: " + str); //123,456,789
- 기타 다른 방법
// 문자열 형식
DecimalFormat decFormat = new DecimalFormat("###,###");
String str = decFormat.format(12300000);
System.out.println(str); // 12,300,000
str = decFormat.format(505000);
System.out.println(str); // 505,000
// 숫자 형식
NumberFormat numberFormat = NumberFormat.getInstance();
String str = numberFormat.format(123000);
System.out.println(str); // 123,000
str = numberFormat.format(123000.7891);
System.out.println(str); // 123,000.79
[참고] https://sks3297.tistory.com/entry/%EC%9E%90%EB%B0%94-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%A8%EC%88%98
'CS > Algorithm' 카테고리의 다른 글
[Algorithm] 카운팅(계수) 정렬 개념 (0) | 2019.08.31 |
---|---|
[Algorithm] 정렬(힙정렬, 합병정렬, 퀵정렬) 개념 (0) | 2019.08.31 |
[Algorithm] 순환(Recursion) (0) | 2019.06.09 |
[Algorithm] 알고리즘의 분석 (0) | 2019.06.03 |
[Java] Math 클래스 (0) | 2019.04.15 |