アンインデントと改行の除去
by yshrkn
JavaScript
/**
* 課題1
*「行頭の」タブを除去するメソッドStringUtils.unindent(); を実装してください。
*/
/**
* 課題2
*「行末の」改行を除去するメソッドStringUtils.toSingleLine(); を実装してください。
*/
// ES2016/ES6のテンプレート文字列を使ってます。
// https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/template_strings
var html = `
<main>
<h1 id="heading">Headig</h1>
<ul class='list'>
<li class="list__item list__item--hoge">Hoge</li>
<li class="list__item list__item--Foo">Foo</li>
</ul>
</main>
`;
StringUtils = {
// 行頭のインデントを削除
unindent: function(str) {
return str.replace(/\t+/g, '');
},
toSingleLine: function(str) {
return str.replace(/\n/gm, '');
}
};
// 1. 行頭のタブを取り除き、テキストを出力します。
console.log("行頭のタブを除去");
console.log(StringUtils.unindent(html));
console.log("-------------------------------");
/** 出力
<h1 id="heading">Headig</h1>
<ul class='list'>
<li class="list__item list__item--hoge">Hoge</li>
<li class="list__item list__item--Foo">Foo</li>
</ul>
*/
// 2. 行頭のタブと行末の改行を取り除き、テキストを出力します。
console.log("行末の改行を除去");
console.log(StringUtils.toSingleLine(html));
console.log("-------------------------------");
/** 出力
<main> <h1 id="heading">Headig</h1> <ul class='list'> <li class="list__item list__item--hoge">Hoge</li> <li class="list__item list__item--Foo">Foo</li> </ul></main>
*/
// 3. 行頭のタブと行末の改行の両方を取り除き、テキスト出力をします。
console.log("行頭のタブと行末の改行を除去");
console.log(StringUtils.toSingleLine(StringUtils.unindent(html)));
console.log("-------------------------------");
/** 出力
<main><h1 id="heading">Headig</h1><ul class='list'><li class="list__item list__item--hoge">Hoge</li><li class="list__item list__item--Foo">Foo</li></ul></main>
*/