알고리즘/Java 알고리즘
replaceAll() 정규식 훈련 [JAVA 알고리즘]
지니어스팍
2023. 12. 18. 21:46
728x90
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/64065
문제를 풀면서 replaceAll에 대해 간단히 알게된 사실을 기록해보기로했다.
replaceAll
아래처럼 문자열이 주어졌을 때
String s ="{{2},{2,1},{2,1,3},{2,1,3,4}}";
{ 와 } 를 없애기 위해 replaceAll을 했는데 이 때 다른 문구와 달리 특수문구는 [] 사이에 적는걸 볼 수 있다.
System.out.println("시작"+s.replaceAll("[{]"," ")+"끝");
System.out.println("시작"+s.replaceAll("[{]"," ").replaceAll("[}]"," ")+"끝");
System.out.println("시작"+s.replaceAll("[{]"," ").replaceAll("[}]"," ").trim()+"끝");
trim()
그리고 trim()을 다시 짚을 수 있었다. 시작과 끝의 공백을 없애주는 역할
시작 4,2,3}, 3}, 2,3,4,1}, 2,3}}끝
시작 4,2,3 , 3 , 2,3,4,1 , 2,3 끝
시작4,2,3 , 3 , 2,3,4,1 , 2,3끝
replaceAll 정규식 훈련해보기 ~ 몇 개 맞추는지 봅시다.
주어진 문자열 s
"갑자기 제육볶음이랑 김치찌개가 땡기는거야 히힣 아니 그거 누가 안좋아하냐굿!
ㅇㅏㄴㅣ,.,.뿌잉뿌잉 abcde에푸지 알아?ABCDEFG말이야! 1010235한다!!!!@#%$^$#^"
case 1
s.replaceAll("[^ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]", " ");
case 2
s.replaceAll("[ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]", " ");
case 3
s.replaceAll("[a-zA-Z0-9]", " ");
case 4
s.replaceAll("[^ㄱ-ㅎㅏ-ㅣ가-힣]", " ");
case 5
s.replaceAll("[ㄱ-ㅎㅏ-ㅣ]", " ");
case 6
s.replaceAll("[가-힣]", " ");
답을 확인해보자!
case 1 답 - 특수문자가 지워진다.
갑자기 제육볶음이랑 김치찌개가 땡기는거야 히힣 아니 그거 누가 안좋아하냐굿
ㅇㅏㄴㅣ 뿌잉뿌잉 abcde에푸지 알아 ABCDEFG말이야 1010235한다
case 2 답 - 특수문자 외의 모든것이 지워진다.
! ,.,. ? ! !!!!@#%$^$#^
case 3 답 - 영어 숫자가 지워진다.
갑자기 제육볶음이랑 김치찌개가 땡기는거야 히힣 아니 그거 누가 안좋아하냐굿!
ㅇㅏㄴㅣ,.,.뿌잉뿌잉 에푸지 알아? 말이야! 한다!!!!@#%$^$#^
case 4 답 - 한글 외의 모든것이 지워진다.
갑자기 제육볶음이랑 김치찌개가 땡기는거야 히힣 아니 그거 누가 안좋아하냐굿
ㅇㅏㄴㅣ 뿌잉뿌잉 에푸지 알아 말이야 한다
case 5 답 (ㅇ ㅏ ㄴ ㅣ 만 지워진다 떨어져있는 모음 자음.)
갑자기 제육볶음이랑 김치찌개가 땡기는거야 히힣 아니 그거 누가 안좋아하냐굿! ,.,.뿌잉뿌잉 abcde에푸지 알아?ABCDEFG말이야! 1010235한다!!!!@#%$^$#^
case 6 답 (모음자음떨어져있지 않은 한글만 지워진다.)
! ㅇㅏㄴㅣ,.,. abcde ?ABCDEFG ! 1010235 !!!!@#%$^$#^
728x90
728x90