プログラマー[レベル1]携帯電話番号を隠す


質問する


プログラマのモバイルデバイスは、個人情報を保護する通知を送信すると、お客様の電話番号の一部を遮断します.
電話番号に文字列phone numberが付与されている場合、電話番号の後ろ4桁を除いて、他の数字がすべて*で上書きされている文字列は、関数に戻って解決策を完了してください.

せいげんじょうけん


phone numberは、長さが4より大きく、20未満の文字列です.

I/O例



に答える

function solution(phone_number) {
    let arr = phone_number.split("");
    let n = arr.length;
    for(let i=0; i<n-4;i++){
        arr[i] = "*";
    }
    return arr.join("");
}
  • 文字列を配列に変換した後、後4ビット以外の要素を*に変換します.
  • を返すと、文字列が再生成されて返されます.
  • 別の解釈

    function hide_numbers(s) {
      return s.replace(/\d(?=\d{4})/g, "*");
    }
    正規表現とreplaceメソッドを使用して解く

    正規表現


    特定のパターンを検索する文字列の式./オフショア/


    棒を1本だけ探します.
    韩/g:韩はみな探しています.g(global)を表します.
    /[0-9]/g:すべての数字0~9を検索します.
    /[a-zA-Z]/g:すべての英字大文字/小文字を検索します.
    /[^0-9]/g:数字0~9ではないものをすべて探します.^表示(NOT).

    解析


    d:数字.
    D:数字ではありません.
    d(?=d{4})gの後、4桁の数字を除くすべての数字を表します.
    (文字列).replace(/正規表現/,置換文字列)
    これはこの問題で使用されるパターンです.
    正規表現情報ソース
    https://curryyou.tistory.com/234[カレーオイル]