본문 바로가기

JAVA/쓸만한 코드

String Class 코드

concat

: 문자열을 결합

 

String str = "안녕하세요";

String str1 = new String("하이");

String str2 = "반갑습니다";

 

		String str3;
		str3 = str1 + str2;
		System.out.println("str3 = "+str);
		위의 문장은 문자열끼리 결합 할 수 없어 str만 나온다
        //답 안녕하세요
        
        
		String str4;
		str4 = str.concat(str2);//concat 문자열 결합할때 씀
		System.out.println("str4 = "+ str4);
        //답 안녕하세요반갑습니다

 

 

 


 

 

비교함수  equals

회원정보 : 이름 , 주민번호 등에 주로 사용

		String str5 = "hello";
		String str6 = "hell";
		
		str6 = str6 + "o";
		
		if (str5 == str6) {
			System.out.println("str5와 str6는 같은 문자열 입니다");
		}else {
			System.out.println("str5와 str6는 다른 문자열 입니다");
		}
		
		boolean b = str5.equals(str6);
		if(b == true) {
			System.out.println("str5와 str6는 같은 문자열 입니다");
		}
		

 

 

 


 

 

indexOf와 lastIndexOf

		char cArr[] = {'a','b','c'};
		
		String str7 = "abcdefghabcd";
		int n;
		n = str7.indexOf("d");
		System.out.println("n = "+n);
		
		n = str7.lastIndexOf("d");
		System.out.println("n = "+n);

 

 

 

 


 

 

길이 length -> len

배열명.length

		int Array[] = {1,2,3,4,5};
		System.out.println("배열의 길이 = "+ Array.length);
	//답 : 배열의 길이 = 5

 

 

 

문자열의 길이

 

int a = 길이를 측정할 변수.length();

		str7 = "I can do it";
		int len = str7.length();	//length()함수 사용
		System.out.println("문자열 길이 = "+ len);
       //답 : 문자열 길이 = 11

 

 

 

 

 


 

 

 

replace(수정)

 

String a = 바꿀 문자가 들어있는 .replace("수정할문자", "바꿀문자");

		String str8 = "A*B**C";
		String repStr = str8.replace("*", "+");
		System.out.println("repStr = "+repStr);
      //답 : repStr = A+B++C
		
		String s = "신종 코로나 바이러스 감염증(코로나 19)이 전국에서 산발적,";
		String rs = s.replace(" ", "");
		System.out.println("rs = "+ rs);
      //답 : rs = 신종코로나바이러스감염증(코로나19)이전국에서산발적

 

 

 

 


 

 

 

split

  split  : token을 활용해서 문자열을 자른다.
  aaa-bbb-ccc        - :  토큰
  저장매체 : 파일, database(oracle)

 

String a[ ] = 문자열이 들어있는 변수.split("-")      // "-"은 "/"이 될 수도 있고 연결된 부호만 사용하면 됨

		String str9 = "홍길동-24-2001/10/20-180.2";
		String splitArr[] = str9.split("-");
		
		for (int i = 0; i < splitArr.length; i++) {
			System.out.println(splitArr[i]);
		}
        //답 : 홍길동   /n 24    /n 2001/10/20    /n 180.2
		
	
	
		

 

 


substring

원하는 부분만 짤라서 출력함

 

1.String a = 원하는 값이있는 변수.substring( 시작하는 인덱스번호, 끝나는 인덱스번호);

 

2. String b = 원하는 값이있는 변수.substring(추출 시작할 인덱스번호);   //끝까지

 

	//범위를 통해서 문자열을 취득 (짤라서 원하는것만 불러옴)	substring
		String str10 = "abcdefghij";
		String subStr = str10.substring(0, 4);//0부터 4앞까지
		System.out.println("subStr = "+subStr);
	//답 : subStr = abcd
        
		subStr = str10.substring(4);//4부터 끝까지
		System.out.println(subStr);
      //답 : efghij

 

 

 

 

 

 

 


 

foUpperCase 와 foLowerCase

 

foUpperCase : 모든 문자를 대문자로 변경
foLowerCase : 모든 문자를 소문자로 변경

 

String a = 대문자로 바꿀 변수.toUpperCase( );

String b = 소문자로 바꿀 변수.toLowerCase( );

		String str11 = "abcDEF";
		String upStr = str11.toUpperCase();
		System.out.println("upStr = "+upStr);
	//답 : upStr = ABCDEF
        
		String lowStr = str11.toLowerCase();
		System.out.println("lowStr = "+lowStr);
	//답 : lowStr = abcdef

 

 

 


 

 

trim

 

맨앞 맨뒤의 공백만 없애주는 함수

String a = 공백을 없애고싶은 변수.trim( );

		String str12 = "             java c 언어 python   ";
		String trimStr = str12.trim();
		System.out.println("trimStr = "+ trimStr);
        //답 : trimStr = java c 언어 python

 

주의;

"     trimStr = java c 언어 python   "

맨앞과 맨 뒤의 공백만 사라지고  "c 언어" 사이의 공백은 사라지지 않음


 

 

 

valueOf 

 

무조건 문자열로 변경

String a = String.valueOf(바꿀 변수);

 

		int num = 123;
		long lo = 1234L;
		double d = 123.4567;
		
		String is = String.valueOf(num);
		String ls = String.valueOf(lo);
		String ds = String.valueOf(d);
		
		System.out.println(num+lo+d);
		System.out.println(is+" "+ls+" "+ds); 
	//답1 : 1480.4567
        //답2 : 123 1234 123.4567
        
		int number =234;
		String numStr = number +"";

주의; 

답1은 숫자로 연산이 진행된 값

 

**사실 valueOf( )를 쓰지 않고 String numStr = number + ""(아무값이나 대입);

해도 문자열로 변경되기 때문에 많이 쓰지는 않음.

 

 


 

 

 contains 탐색

: 원하는 값을 탐색하여 찾아 True/false로 반환

 

boolean a = 찾고싶은 문자이있는 변수.contains( 찾을문자 )

 

 

		String str13 = "서울시 강남구";	//서 울시 라고 하게되면 false가 나옴
		boolean b1 = str13.contains("서울");
		System.out.println("b1 = "+b1);
        //답 : b1 = true

 

 

 


 

 

 

 

charAt 

 

 

변수형 a = 찾고싶은 문자가 있는 변수.charAt(인덱스 번호)

번호에 해당하는 값이 출력됨

 

		String str14 = "가나다라마";
		char ch = str14.charAt(3);
		System.out.println(ch);
        //답 : 라