본문 바로가기
Java/JAVA

Java - 문자열 관련 함수

by 하니__ 2024. 6. 3.

 

Concat(  ) 문자열 합산
String data1 = "abc";
System.out.println(data1.concat("Hello"));

data1 = abc일때

concat을 하여 Hello 를 추가 해준다면

이와같이 abcHello가 나오게 된다

 

 

Length(  ) 문자열의 길이

 

System.out.println(data1.length());

앞서 봤던 data1의 length()를 하게 되면

글자가 3개 인것을 알려준다

 

substring(  ) 문자열 슬라이싱
data1 = "Hello world!";

이번엔 이렇다고 할때

 

7번째부터 끝까지 글자를 가져와라,

7번째부터 10번째까지의 글자를 가져와라

 

라는 주제가 있다면 아래와같이 하여

System.out.println(data1.substring(6));
System.out.println(data1.substring(6, 9+1));

인덱스는 0번부터 시작이니 6번부터~

6번부터~9+1번까지~ 라고 하면 되겠다

+1 하는 이유는 마지막 번호는 안 가져오기 때문

 

split(  ) 문자열 분리
data1 = "red, blue, white";

 

이번엔 이렇게 , 으로 나누어져있는 문자열을 나누어보자

파이썬에서도 쓰였던

그 split을 그대로 사용하는데 모습이 조금 다르다

String[] strArray = data1.split(", ");
for( int i = 0 ; i < strArray.length ; i++ ) {
    System.out.println( strArray[i] );

리스트를 그냥 보려고 하면

볼 수 없기에 for 반복문으로 봐야 한다

 

 

 

Trim(  ) 공백제거 
Stirng data1 = "      abc@naver.com      ";
String data2 = "abc@naver.com";

System.out.println(data1 == data2);
System.out.println( data1.trim() );

 

data1과 data2는 사람 눈에는 같지만

컴퓨터에게는 다르다

trim()을  사용하게 되면 공백을 제거 해 준다

 

 

 

toUpperCase( ) , toLowerCase( ) 대소문자 변환
System.out.println(data2.toUpperCase());
System.out.println(data2.toLowerCase());

파이썬에서 배웠듯이

Upper는 대문자

Lower는 소문자로 변환해준다

 

indexOf( )  특정문자 찾기
System.out.println( data2.indexOf("@") );
System.out.println( data2.indexOf("naver") );
System.out.println( data2.toUpperCase().indexOf("NAVER") );

@의 위치를

naver가 시작되는 위치를

모두 대문자로 바꾼뒤 NAVER가 시작되는 위치를

찾아 낼 수 있다

 

compareTo( ) 문자열의 크기 비교,영어는 알파벳순, 한글은 가나다순,
compareToIgnoreCase( ) 라고 입력하면 대소문자를 가리지않는다
if (data2.compareTo("abc@naver.com") < 0) {
    System.out.println("작다");
}else if (data2.compareTo("abc@naver.com") == 0) {
    System.out.println("같다");
}else {
    System.out.println("크다");
}

 

같은 글자를 넣었기에 같다가 나오게 되며

aba를 적으면 작다가 나오게되고

abd를 적으면 크다가 나오게 된다

 

Equals( )문자열이 서로 같은지 확인하는 함수
EqualsIgnoreCase( ) 위와 마찬가지로 대소문자 무시
System.out.println( data2.equals("abc@naver.com") );
System.out.println( data2.equalsIgnoreCase("abc@NaVeR.com") );

if(data1.trim().equals(data2)) {
    System.out.println("로그인 성공");
}else {
    System.out.println("이메일 주소가 다릅니다");
}

위의 두개의 경우 같은지를 확인하고

두번째의 경우는 대소문자를 달리해도 같다고 체크한다

 

아래의 if문에서는

공백이 있어 컴퓨터는 다르게 인식하는것을

위에서 배운 trim()을 사용하여

같다고 인식하게 만드는 방법이다