文字列処理メニュー【文字の検索・文字列の連結・部分文字列・文字列の挿入・文字列の書き換え】
【文字の検索】コード
reader.on('close', () => {
const S = lines[0]; // 文字列
const C = lines[1]; // 文字
console.log(S.indexOf(C) + 1); // C は S の何文字目かを表示
});
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('')); // 配列の要素 を 連結して出力
});
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)
});
S.substring(i - 1, j)
で 文字列 S の i 番目〜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));
});
S の部分文字列の前半と後半の間に + 演算子で T を連結しました。
【文字列の書き換え】コード
reader.on('close', () => {
let S = lines[0].split('');
const [i, c] = lines[1].split(' ');
S[i - 1] = c;
console.log(S.join(''));
});
入力を一文字ずつ区切って配列として受け取り 指定された文字を上書きしています。
コメント