コンソールに出力する文字列を読みやすくする
以下のコードで元の文字列の各文字の位置を分かりやすくするための、補助的な文字列を生成できる
文字幅(=文字数)は元の文字列と同じとなる
var s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890'; console.log(s); var t = s.replace(/[\s\S]{1,4}/g, function(m) { return '^'+new Array(m.length).join(' ') }); console.log(t);
出力結果
ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
関数化して、'^'が現れる位置を調整可能にしてみる
var s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890'; console.log(s); console.log(f(s, 4)); console.log(f(s, 8)); function f(s, width){ return s.replace( new RegExp('[\\s\\S]{1,'+(width || 4)+'}', 'g'), function(m){ return '^' + new Array(m.length).join(' '); }); }
出力結果
ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^