JAVA

[Java_07] String method

korany 2023. 3. 8. 15:07

 

// String클래스 메서드(기능)들

// 메서드란 어떤 작업을 수행하기 위한 명령문의 집합

// 반복적으로 사용되는 코드를 줄이기 위해 쓰는 개념


0) Integer.parseInt(num) : 정수형태의 String을 진짜 숫자로 만드는 메서드

중요!!

String클래스의 메서드는 아니지만 많이 사용함!

정수형태의 문자열(String)을 진짜 숫자로 만들어주는 메서드

		String num = "10";
//		int a = 10;
		int a = Integer.parseInt(num);
		System.out.println( a +  1 );

값: 11


1)  .length() : 문장의 길이

		String name = "Hong Gil Dong";
		int len = name.length();
		System.out.println("문장의 길이: " + len);
		// length :유일하게 1부터 셈!
	
		문장의 길이: 13

length() : ( )안에 데이터를 넣으면 오류


2)  .indexOf(ch) : int 문자가 몇번째 위치인지

		int index = name.indexOf('o');
		System.out.println("맨 첫번째 o의 위치 : " +index);
		// 숫자는 0부터 셈
		
		index = name.lastIndexOf('o');
		System.out.println("맨 뒤에 있는 o의 위치 : "+ index);

맨 첫번째 o의 위치 : 1
맨 뒤에 있는 o의 위치 : 10

3)  .charAt(int index) : char 문자 추출

		char c = name.charAt(5);
		//charAt(int index) : ( )안에 데이터를 안 넣으면 오류 
							// 정수 타입의 값을 넣어야 함 
		System.out.println("추출한 문자 :" + c);

추출한 문자 :G

charAt(int index) : ( )안에 데이터를 안 넣으면 오류


4)  .substring(int begin) : begin 이전의 모든 문자 잘라내서 없애기

		String s1 = name.substring(5);
		System.out.println("5번 이전의 모든 문자를 잘라내시오 : " + s1);

		5번 이전의 모든 문자를 잘라내시오 : Gil Dong

 


5)  .substring(int begin, int end) : String b~e전까지의 문자 잘라내서 보이기

		s1 = name.substring(5, 10);
		System.out.println("5 ~ 9까지의 문장을 잘라내시오 : " + s1);

		5 ~ 9까지의 문장을 잘라내시오 : Gil D

 

6)  .replace(oldChar, newChar) : old를 new로 치환

		name = "Hong. Gil. Dong";
		s1 = name.replace('.', '/');
		System.out.println(".을 /로 치환 : " + s1);

		.을 /로 치환 : Hong/ Gil/ Dong

		s1 = name.replace("on", "il");
		System.out.println("on을 il로 치환 : " + s1);
		
		// 영구적으로 이름 바꾸기
		name = name.replace("on", "il");
		System.out.println("on을 il로 치환 : " + name);
		
		name = name.replaceAll("il", "on");
		System.out.println("il을 on로 치환 : " + name);

7) .replacAll : (비추) .이 있을때 All치환 처리하면 앞의 모든글자를 한글자로 인식함

		name = "Kim. Lee. Park.";
		String name2 = "Kim. Lee. Park.";
		
		// replace는 all없는 걸 선호
		// replace :Kim/ Lee/ Park/
		name = name.replace('.', '/');
		System.out.println("replace :" + name);
		
		// 자바의 정규식 : .이 있을때 All 치환 처리 하면 앞의 모든 글자들을 한 묶음으로 인식함
		// replaceAll :///////////////
		name2 = name2.replaceAll(".", "/");
		System.out.println("replaceAll :" + name2);
        
        결과값 replaceAll :///////////////

8)  .trim() : 의미 없는 앞 뒤 공백 제거

// 의미 없는 공백 제거 ex)회원가입
		String id = " hi hello ";
		id = id.trim();
		System.out.println("trim 사용 한 후 길이 : " + id.length())

trim 사용 한 후 길이 : 8

9)  .split() : 배열형태로 나눠서 저장

		// 특정 문장을 기준으로 배열 형태로 나눠서 저장해주는 메서드
		// " "공백을 기준으로 쪼개서 배열단위로 나눠줘
		String[] id2 = id.split(" ");
		System.out.println(id2[0] + " / " + id2[1]);

10) .equalsIgnoreCase() : 대소문자 상관없이 단어만 같다면 일치

// .equalsIgnoreCase : 대소문자와 상관없이 단어만 같다면 일치시킴
		// java는 영문자의 대소문자를 구별해서 다른 값으로 인식함
		String answer = "Apple";
		
		if(answer.equalsIgnoreCase("apple")) {
			System.out.println("apple 값이 같다");
		}