Lv.1数字の文字列と英語の単語
8220 ワード
🤖質問する
👍 2022年1月20日
<script>
function solution(s) {
const wordSet = {
"zero": 0,
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
"six": 6,
"seven": 7,
"eight": 8,
"nine": 9
}
let answer = s
.replace(/zero/g, 0)
.replace(/one/g, 1)
.replace(/two/g, 2)
.replace(/three/g, 3)
.replace(/four/g, 4)
.replace(/five/g, 5)
.replace(/six/g, 6)
.replace(/seven/g, 7)
.replace(/eight/g, 8)
.replace(/nine/g, 9)
answer = Number(answer)
return answer;
}
</script>
最初はオブジェクトのキー値を正規表現の式にすればいいと思ってwordSetを作成しましたが、自分の正規表現をどのように作成するか分からないので、最終的にはreplaceで解決します.調べてみると、下のようにRegExpオブジェクトのコンストラクション関数を呼び出し、直接指定すればよい.
解決策
<script>
for (let [key, value] of Object.entries(wordSet)) {
let regex = new RegExp(key, "g");
s = s.replace(regex, value);
}
</script>
新しく学んだものはここに整理されている。😁 参考文献
Reference
この問題について(Lv.1数字の文字列と英語の単語), 我々は、より多くの情報をここで見つけました https://velog.io/@youjinee98/Lv.1-숫자-문자열과-영단어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol