본문 바로가기
CLASS/JAVA

#10-2 / 단어 검토 및 변경(정규식 코드)

by eungSe__ 2024. 5. 14.
⚡ 정규식 코드

//--split : 문자열을 원시배열화 함
String word = "1,2,3,4,5,6,7";
String arr[] = word.split(",");
System.out.println(Arrays.toString(arr));

//--replace : 문자변경("찾을단어","변경단어")
String address = "서울특별시 마포구 마포동";
String result1 = address.replace("서울특별","서울");
String result2 = address.replace("마포","mapo");
System.out.println(result2);

//--replaceAll(정규식) : 배열 형태의 단어범위를 설정하며,특정단어로 모두 변경
String code = "010abcd12z4BB";
//[a-z],[A-Z],[0-9],[a-z0-9] 복합 사용 가능
String result3 = code.replaceAll("[a-zA-Z]","*");
String result4 = code.replaceAll("[0-9a-z]","*");
System.out.println(result3); //010****12*4**
System.out.println(result4); //***********BB

//한글은 자음,모음,받침 모두 필터링을 배열 범위에 적용하여 단어를 변경시킴
//[ㄱ-ㅎㅏ-ㅣ가-힇] 한글
String id = "hong길동";
String idcheck = id.replaceAll("[ㄱ-ㅎㅏ-ㅣ가-힇]", ""); //해당문자 삭제
System.out.println(idcheck);

// ^ : 부정
//[^a-zA-Z0-9] 영어,숫자 제외하고 나머지
String name="hong길東※";
String namecheck = name.replaceAll("[^a-zA-Z0-9]", "");
System.out.println(namecheck);

//--Patter,Matcher Java 라이브러리 (Javascript에는 x) : 정규식 코드를 이용하여 사용하는 단어 분리
//정규식코드 [0-9]+ : 해당문자 외에 다른 문자가 있을 경우 +를 이용하여 그룹화함
String today = "2024-05-15 14:14:10";
Pattern p = Pattern.compile("[0-9]+"); 
Matcher mc = p.matcher(today);
//System.out.println(mc.find()); //true 출력

while(mc.find()) { //true == 무한루프
    System.out.println(mc.group());	//2024 05 15 14 14 10 각각 출력		
}

//--contains() : true(단어 있음),false(단어 없음)
//indexOf 업그레이드 버전 라이브러리
String msg = "html css javascript java ajax mysql";
boolean msgck = msg.contains("java");
boolean msgck2 = msg.contains("oracle");
System.out.println(msgck); //true 출력
System.out.println(msgck2); //false 출력


🔽
contains : boolean으로 반환
indexOf : 일치하는 숫자로 반환(일치하는게 없을시 -1)

 

'CLASS > JAVA' 카테고리의 다른 글

#11-2 / 배열을 이용한 예외처리  (0) 2024.05.16
#11-1 / Exception : 예외처리  (0) 2024.05.16
#10-1 / Interface  (0) 2024.05.14
#9-3 / class + class  (0) 2024.05.13
#9-2 / abstract(추상 클래스)  (0) 2024.05.13