文字列処理メニュー(6〜10)

文字列処理メニュー【文字の検索・文字列の連結・部分文字列・文字列の挿入・文字列の書き換え】

【文字の検索】コード

reader.on('close', () => {
   const S = lines[0];  // 文字列
   const C = lines[1];  // 文字
   console.log(S.indexOf(C) + 1);  // CS の何文字目かを表示
});
hogeちゃんの画像

indexOf() で 引数で指定した文字の Index が取得できました。

【文字列の連結】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const S = [];
   for (let i = 1; i <= N; i++) {
      S.push(lines[i]);
   }
   console.log(S.join(''));  // 配列の要素 を 連結して出力
});
hogeちゃんの画像

S.join('')で配列 S の要素 を 連結しています。

【部分文字列】コード

reader.on('close', () => {
   const S = lines[0];
   const [i, j] = lines[1].split(' ').map(Number);
   console.log(S.substring(i - 1, j));  // substring(始点index, 終点index - 1)
});
hogeちゃんの画像

S.substring(i - 1, j)で 文字列 Si  番目〜j 番目 の部分文字列を取得。

【文字列の挿入】コード

reader.on('close', () => {
   const S = lines[0];
   const T = lines[1];
   const N = Number(lines[2]);
   console.log(S.substring(0, N) + T + S.substring(N));
});
hogeちゃんの画像
S の部分文字列の前半と後半の間に + 演算子で T を連結しました。

【文字列の書き換え】コード

reader.on('close', () => {
  let S = lines[0].split('');
  const [i, c] = lines[1].split(' ');
  S[i - 1] = c;
  console.log(S.join(''));
});
hogeちゃんの画像

入力を一文字ずつ区切って配列として受け取り 指定された文字を上書きしています。

コメント