Oliver Eyton-Williams ee1e8abd87
feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script

* chore(curriculum): remove empty sections' markers

* chore(curriculum): add seed + solution to Chinese

* chore: remove old formatter

* fix: update getChallenges

parse translated challenges separately, without reference to the source

* chore(curriculum): add dashedName to English

* chore(curriculum): add dashedName to Chinese

* refactor: remove unused challenge property 'name'

* fix: relax dashedName requirement

* fix: stray tag

Remove stray `pre` tag from challenge file.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>

Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2021-01-12 19:31:00 -07:00

1.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7db9367417b2b2512ba4 Match Non-Whitespace Characters 1 18210 match-non-whitespace-characters

--description--

You learned about searching for whitespace using \s, with a lowercase s. You can also search for everything except whitespace.

Search for non-whitespace using \S, which is an uppercase s. This pattern will not match whitespace, carriage return, tab, form feed, and new line characters. You can think of it being similar to the character class [^ \r\t\f\n\v].

let whiteSpace = "Whitespace. Whitespace everywhere!"
let nonSpaceRegex = /\S/g;
whiteSpace.match(nonSpaceRegex).length; // Returns 32

--instructions--

Change the regex countNonWhiteSpace to look for multiple non-whitespace characters in a string.

--hints--

Your regex should use the global flag.

assert(countNonWhiteSpace.global);

Your regex should use the shorthand character \S to match all non-whitespace characters.

assert(/\\S/.test(countNonWhiteSpace.source));

Your regex should find 35 non-spaces in "Men are from Mars and women are from Venus."

assert(
  'Men are from Mars and women are from Venus.'.match(countNonWhiteSpace)
    .length == 35
);

Your regex should find 23 non-spaces in "Space: the final frontier."

assert('Space: the final frontier.'.match(countNonWhiteSpace).length == 23);

Your regex should find 21 non-spaces in "MindYourPersonalSpace"

assert('MindYourPersonalSpace'.match(countNonWhiteSpace).length == 21);

--seed--

--seed-contents--

let sample = "Whitespace is important in separating words";
let countNonWhiteSpace = /change/; // Change this line
let result = sample.match(countNonWhiteSpace);

--solutions--

let sample = "Whitespace is important in separating words";
let countNonWhiteSpace = /\S/g; // Change this line
let result = sample.match(countNonWhiteSpace);