public String substring (int startIndex, int endIndex) //endIndex는 불포함
String str = "abcdef"; str.substring(2, 4); //cd
public String split (String regex)
public String split (String regex, int limit) //limit개만 구분하고 나머지는 놔둠String str = "i am a human"; String[] strArr = str.split("\\s"); //공백기준 슬라이싱 //str[0] = i / str[1] = am / str[2] = a / str[3] = human
String str = "a.b.c"; String strA = str.split("[.]")[0] //.기준으로 자른 첫번째 String
참고로, 정규식에서 어떤 문자 기준으로 자르고싶을 때는 [ ]안에 넣어야 한다.
예를 들어, abccbaa를 b를 기준으로 자르고싶으면 split("[b]")
- 문자열.contains(문자열)
String str = "asdf"; str.contains("sd") -> true
- String to char[] : .toCharArray()
String str = "string"; char[] arr = str.toCharArray();
- char[] to String : String.valueOf()
char[] arr = {'s', 't', 'r'}; String str = String.valueOf(arr);
- String to Int : Integer.parseInt()
String str = "123"; int num = Integer.parseInt(str);
- Int to String : Integer.toString()
int num = 123; String str = Integer.toString(num);
- Character to String : Character.toString()
Character c = 'a'; String str = Character.toString(c); //"a"
- String to Character : String.charAt()
String str = "abc"; Character c = str.charAt(1); //'b'
Character.isDigit(char c)
Character c = '91'; Character.isDigit(c); //true
- Character.toUpperCase(문자) : 소문자 -> 대문자
Char c = "a" c = Character.toUpperCase(c); //"A"
- Character.toLowerCase(문자) : 대문자 -> 소문자
Char c = "A" c = Character.toUpperCase(c); //"a"
- str1.startsWith(str2) : str1이 str2로 시작하는지 여부 검사
"자바스크립트".startsWith("자바"); // true
- str1.endsWith(str2) : str1이 str2로 끝나는지 여부 검사
"자바스크립트".endsWith("스크립트"); // true
reverse()
String original = "str"; String reversed = new StringBuilder(original).reverse().toString();
charAt(인덱스)
StringBuilder sb = new StringBuilder("str").charAt(0); // s
deleteCharAt(인덱스)
StringBuilder sb = new StringBuilder("str").deleteCharAt(1); // sr
String[] arr = {"a", "c", "bcd", "ab"};
Arrays.sort(arr);
for(String str : arr){
System.out.println(str);
}
위 코드에서 arr의 정렬 결과는 어떨까? a c ab bcd일까?
결과 :
아니다. 기본적으로 알파벳 순으로 정렬한다.
- 길이 순으로 정렬하려면 다음과 같이 커스텀하면 된다.
String[] arr = {"a", "c", "bcd", "ab"};
Arrays.sort(arr, new Comparator<String>(){
@Override
public int compare(String o1, String o2){
return o1.length() - o2.length();
}
});
for(String str : arr){
System.out.println(str);
}
결과 :
- 길이 순으로 정렬하고, 같은 길이는 알파벳 순으로 정렬하기
String[] arr = {"c", "a", "bcd", "ab"};
Arrays.sort(arr, new Comparator<String>(){
@Override
public int compare(String o1, String o2){
if(o1.length() == o2.length()){
return o1.compareTo(o2);
}
return o1.length() - o2.length();
}
});
for(String str : arr){
System.out.println(str);
}
결과 :