[Ava]プログラマー:新しいアイデンティティを推奨


✔¥質問リンク


https://programmers.co.kr/learn/courses/30/lessons/72410

💻 コード#コード#

import java.util.*;
class Solution {
    public String solution(String new_id) {
        String answer = new_id.toLowerCase();//1단계
        //정규표현식 사용
        answer = answer.replaceAll("[^-_.a-z0-9]", ""); //2단계
        answer = answer.replaceAll("[.]{2,}", "."); //3단계
        answer = answer.replaceAll("^[.]|[.]$", ""); //4단계
        
        if(answer.equals("")){
            answer += "a";
        }//5단계
        if(answer.length() >= 16){
            answer = answer.substring(0, 15);
            //정규 표현식 사용
            answer = answer.replaceAll("[.]$", "");
        }//6단계
        if(answer.length() <= 2){
            while(answer.length() < 3){
                answer += answer.charAt(answer.length() - 1);
            }
        }//7단계
        return answer;
    }
}

💡 覚えておきたい部分


- toLowerCase()


小文字に変更された関数

-正規表現


^:文字列の開始
$:終了文字列
|:OR演算
、:以上、以下に示す
[]:文字セットまたは範囲^が存在する場合は存在しません
{}:回数または範囲

✔¥適用


ステップ2
new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다.
[^-_.a-z0-9]
手順3
new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다.
[.]{2,}
手順4
new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다.
^[.]|[.]$
ステップ6
만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 마침표(.) 문자를 제거합니다.
[.]$