[Java] 자주 사용되는 문자열(String) 함수

joy0987·2023년 9월 17일
0

Java

목록 보기
1/6
post-thumbnail

equals() : 두 개의 문자열이 동일한 값을 가지고 있는지 비교하여 결과값을 리턴

String str1 = "java";
String str2 = "java";
boolean equals = str1.equals(str2);
System.out.println("equals: " + equals);

결과: true


indexOf() : 문자열에서 특정 문자가 시작되는 index를 리턴

String str = "abcdef";
int indexOf = str.indexOf("d");
System.out.println("indexOf: " + indexOf);

결과: 3


lastindexOf() : 지정한 문자가 가장 뒤 쪽에 있는 경우의 index를 리턴

String str = "AndroidApp";
int lastIndexOf = str.lastIndexOf("A");
System.out.println("lastIndexOf:" + lastIndexOf);

결과: 7


length() : 문자열의 길이를 리턴


substring() : 문자열에서 지정한 범위에 속하는 문자열만 잘라서 반환

String str = "ABCDEF";
String substring = str.substring(0, 2); // 0 앞에 칼, 2 앞에 칼 꽂는다 생각하기
System.out.println("substring: " + substring);

결과: AB


toUpperCase(), toLowerCase() : 문자열을 모두 대문자 or 소문자로 변경하는 경우 사용


concat() : 문자열과 문자열을 이어야하는 경우 사용

  • '+' 연산자 or StringBuffer + append() 로 대체 가능하다.
String str1 = "apple";
String str2 = "pie";
System.out.println(str1.concat(pie));

결과: applepie


startWith() : 문자열이 지정한 문자로 시작하는지 판단 후, 있으면 true 없으면 false 리턴

  • 대소문자 구별
String str = "apple";
boolean startsWith = str.startsWith("a");
System.out.println("startsWith: " + startsWith);

결과: true


endWith() : 문자열 마지막에 지정한 문자가 있는지 판단 후, 있으면 true 없으면 false 리턴

  • 대소문자 구별
String str = "test";
boolean endsWith = str.endsWith("t");
System.out.println("endsWith: " + endsWith);

결과: true


replace() : 특정 문자를 원하는 문자로 변경해야하는 경우 사용

String str = "A*B*C*D";
String replace = str.replace("*", "-");
System.out.println("replace: " + replace);

결과: A-B-C-D


replaceAll() : 문자열 중 특정 문자를 다른 문자로 바꾸고 싶을 경우 사용

String str = "AB CD";
String replaceAll = str.replaceAll("\\p{Space}", "*");
System.out.println("replaceAll: " + replaceAll);

결과: AB*CD


split() : 지정한 문자로 문자열을 나눠서 배열로 리턴

String str = "A:B:C:D:abcd";
String[] split = str.split(":");
System.out.println("split: " + split[1]);

결과: B


trim() : 문자열의 시작과 끝에 있는 공백을 지워준다. 중간에 있는 공백은 지워지지 않는다.

String s = "     java java java     ";
String v;
v = s.trim();
System.out.println("trim:" + v);

결과: java java java


compareTo() : 두 개의 문자열을 앞에서부터 순서대로 비교하다가 다른 부분이 있으면 다른 만큼의 정수값을 리턴

  • 기준이 되는 문자(함수가 붙은)의 아스키코드 - 비교되는 문자의 아스키코드
  • 대소문자를 구별
  • 완전히 같으면 0 리턴
String str1 = "A";
String str2 = "B";
int compareTo = str1.compareTo(str2);

if(compareTo > 0){

       System.out.println(str1 + " > " +str2);
} else if (compareTo == 0){
       System.out.println(str1 + " = " +str2);
} else{
       System.out.println(str1 + " < " +str2);
}

결과: A < B


contains() : 두 개의 문자열을 비교해서 파라미터 내 비교대상 문자열을 포함하고 있으면 true, 없으면 false 리턴

String str1 = "abcd";
String str2 = "c";
boolean contains = str1.contains(str2);
System.out.println("contains: " + contains);

결과: true


charAt() : 지정한 index 문자를 그대로 리턴

String str1 = "문자열을 공부해봅시다";
String str2 = "abcdef";
System.out.println(str1.charAt(2));

결과 : 열


valueOf() : 지정한 개체의 원시 값을 반환

int i = 12345;
long l = 1L;
char c = '1';
System.out.println("valueOf: " + String.valueOf (i));
System.out.println("valueOf: " + String.valueOf (l));
System.out.println("valueOf: " + String.valueOf (c));

결과:
valueOf: 12345
valueOf: 1
valueOf: 1


format() : 서식 문자열을 이용해서 서식화 된 문자열을 리턴

int i = 123456789;
String str = String.format("%,d", i);
System.out.println("format: " + str);

결과: 123,456,789


matches() : 지정한 정규 표현과 일치하면 true, 다르면 false 리턴

  • 비밀번호 암호화에서 자주 사용된다.
int i = 123456;
String str1 = String.format("%,d", i);
String str2 = "123456";
boolean matches = str1.matches(str2);
System.out.println("matches: " + matches);

결과: false


replaceFirst() : 문자열에 지정한 문자 a가 있으면 첫번째만 새로 지정한 문자 b로 바꿔서 리턴

String str = "Aman";
String replaceFirst = str.replaceFirst("A", "super");
System.out.println("replaceFirst: " + replaceFirst);

결과: superman



문제 푸는데 익숙하지 않은 몇 개는 계속 찾아보게 돼서 정리했다.


참고

profile
아자아자

0개의 댓글

관련 채용 정보