【文字列1】疑似数字《新・Bランクup》

新・Bランクレベルアップメニュー【文字列 1】疑似数字

【文字列 1】疑似数字  コード 1/2

reader.on('close', () => {
   const S = lines[0];
   const L = S.length;
   const P_0 = '0'.codePointAt(0);  // '0'の文字のコードナンバー
   const P_9 = '9'.codePointAt(0);  // '9'の文字のコードナンバー
   for (let l = 0; l < L; l++) {
      for (let r = l; r < L; r++) {
         const S_l = S.codePointAt(l);  // 最初の文字のコードナンバー
         const S_r = S.codePointAt(r);  // 最後の文字のコードナンバー
            if ((S_l >= P_0 && S_l <= P_9) && (S_r >= P_0 && S_r <= P_9)) {
            console.log(S.substring(l, r + 1));
         }
      }
   }
});
hogeちゃんの画像

数字であるかどうか調べるために ′0′と′9′ の 文字コードナンバーを使用しました。

【文字列 1】疑似数字  コード 2/2

reader.on('close', () => {
   const S = lines[0];
   const L = S.length;
   for (let l = 0; l < L; l++) {
      for (let r = l; r < L; r++) {
         const N_l = Number(S[l]);
         const N_r = Number(S[r]);
         if (!isNaN(N_l) && !isNaN(N_r)) {
            console.log(S.substring(l, r + 1));
         }
      }
   }
});
hogeちゃんの画像

isNaN(N)N が数値なら false を返すので 数値なら true を返すように  !isNaN() として 真偽値を反転させています。

コメント