채택된거라 별다른 의미는 없지만 간만에 머리좀 써본지라 올려 봄.
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040201&docId=261215988&page=1#answer1
질문) 자바 문자열 자르기나 바꾸기 궁금한점이 있습니다.
조건
String a = ""; <<문자 길이는 랜덤입니다. (a= "1231232131" 가될수도잇고 a="1231")이 될수도 있습니다.
궁금한점.
a라는 문자열 길이만큼
" * " 를 만드려고 하는데 어떻게해야합니까?
(즉 회원 주민번호 뒷자리중 1자리를 뺀 나머지를 *로 바뀌는거 말하는겁니다.)
ex
홍길동
940011 > 1******
a = "123213123"일경우 > 12********;
a = "1111123"일경우 > 11******;
이렇게 말이죠.
의견)
질문 작성자 2016.09.25. 17:23:16
어.. 감사합니다~. for를 이용해서 저도 만들순 있는데 for 이용안하고 만드는법은 없나해서요~
답변)
아래를 참고해서 만들어 보세요.
1-1. CLASS
public class t25_000 {
public static void main(String args[]){
String a = "1vcs24t"; // 바꿔가며 테스트 해보세요.
int num = a.length();
String estr = estr(num - 2);
String mun = a.replaceAll(a.substring(2, num), estr);
System.out.println(mun);
}
static String estr(int num){
String estr = "";
for(int i = 0; i < num; i++){
estr += "*" ;
}
return estr;
}
}
1-2. CLASS
import java.util.regex.*;
public class t25_001 {
public static void main(String args[]){
Matcher mat;
Pattern pa = Pattern.compile("[a-zA-Z0-9]");
String a = "1vcs24t";
int num = a.length();
String rep = pa.matcher(a.substring(2, num)).replaceAll("*");
String mun = a.replaceAll(a.substring(2, num), rep);
System.out.println(mun);
}
}
2. RUN
1v*****
도움이 되셨기를~
// 위의 1-2 방식은 약점도 있고, 다른 방법도 많지만 귀찮아서..
'course > 지식인' 카테고리의 다른 글
[자바] 자바 배열의 자릿수 구하기. (0) | 2016.10.05 |
---|---|
[자바] java.lang.NullPointerException 에러 관련 질문.. (2) | 2016.09.09 |
[자바] 문자열에서 특별한 조건범위 내의 모든 값을 출력. (0) | 2016.08.25 |