Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/rosetta-code/strip-control-codes-and-extended-characters-from-a-string.md
2022-01-20 20:30:18 +01:00

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5a23c84252665b21eecc8036 文字列から制御コードと拡張文字を削除する 5 302327 strip-control-codes-and-extended-characters-from-a-string

--description--

タスクは、文字列から制御コードと拡張文字を削除することです。 解答では、以下のそれぞれの結果を導き出す方法を示す必要があります: 制御コードと拡張文字を取り除いた文字列。 ASCII の制御コードには 10 進数コードの 0 から 31 までと 127 があります。 ASCIIベースのシステムでは、制御コードが取り除かれた場合、結果として得られる文字列は、ASCII コード表の 10 進数番号の 32 から 126 の範囲内のすべての文字になります。 非 ASCII ベースのシステムでは、ASCII コード表 (ASCII で 10 進数番号の 32 から 126 の範囲内) に対応するグリフを持たない文字は、このタスクにおいては、拡張文字とみなされます。

--hints--

strip は関数とします。

assert(typeof strip == 'function');

strip("abc") は文字列を返す必要があります。

assert(typeof strip('abc') == 'string');

strip("\ba\x00b\n\rc\fd\xc3")"abcd" を返す必要があります。

assert.equal(strip('\ba\x00b\n\rc\fd\xc3'), 'abcd');

strip("\u0000\n abc\u00E9def\u007F")" abcdef" を返す必要があります。

assert.equal(strip('\u0000\n abc\u00E9def\u007F'), ' abcdef');

strip("a\n\tb\u2102d\u2147f")"abdf" を返す必要があります。

assert.equal(strip('a\n\tb\u2102d\u2147f'), 'abdf');

strip("Français.")"Franais." を返す必要があります。

assert.equal(strip('Français.'), 'Franais.');

strip("123\tabc\u0007DEF\u007F+-*/€æŧðłþ")"123abcDEF+-*/" を返す必要があります。

assert.equal(strip('123\tabc\u0007DEF\u007F+-*/€æŧðłþ'), '123abcDEF+-*/');

--seed--

--seed-contents--

function strip(s) {

}

--solutions--

function strip(s) {
  return s
    .split('')
    .filter(function(x) {
      var n = x.charCodeAt(0);

      return 31 < n && 127 > n;
    })
    .join('');
}