メール内のすべてのストップをx文字に置き換えようとしています。たとえば、「[email protected]」は「myxemail @ emailxcom」になります。電子メールは文字列に設定されます。
私の問題は、完全なストップだけを置き換えるのではなく、すべての文字を置き換えることなので、xの文字列を取得するだけです。
たった1つのフルストップで動作するので、グローバルインスタンスの部分が間違っていると思います。私のコードは次のとおりです。
let re = ".";
let new = email.replace(/re/gi, "x");
私も試しました
re = /./gi;
new = email.replace(re, "x");
誰もが光を当てることができるなら、私はそれを本当に感謝しています、私はこれに長い間立ち往生しており、どこが間違っているのか分かりません。
**編集:おっと、私の新しい変数は実際にはnewemailと呼ばれていましたが、キーワードnewは問題を引き起こしていませんでした!
2番目の例が最も近いです。最初の問題は、変数名new
です。これは、JavaScriptの 予約済みキーワード (代わりに、new RegExp
やnew Set
などのオブジェクトの構築に使用されます。これは、プログラムが構文エラーをスローすることを意味します。
また、ドット(.
)は正規表現文法内の特殊文字であるため、\.
としてエスケープする必要があります。そうしないと、result == "xxxxxxxxxxxxxxxxxx"
になってしまいますが、これは望ましくありません。
let email = "[email protected]"
let re = /\./gi;
let result = email.replace(re, "x");
console.log(result)
私のために働いていたsplit()
およびjoin()
メソッドを試すことができます。 (通常の文字列テキストの場合)実装と理解が短くて簡単でした。以下に例を示します。
let email = "[email protected]";
email.split('.').join('x');
だから、それはx
ですべてのあなたの.
に置き換えられます。したがって、上記の例の後、email
変数になるmyxemail@gmailxcom