형식 스크립트의 문자열에 있는 모든 문자 인스턴스를 바꾸시겠습니까?

e-메일의 모든 전체 정지를 x 문자로 바꾸려고 합니다(예: &my;my.email@email.com&my;myxemail@emailxcom&my;). 이메일이 문자열로 설정되어 있습니다.
제 문제는 그것이 단지 전체 스톱을 대체하는 것이 아니라 모든 문자를 대체한다는 것입니다. 그래서 저는 x's의 문자열만 얻게 됩니다.
한 번만 완전히 멈추면 작동이 가능하기 때문에 글로벌 인스턴스 부분에서 제가 틀린 것 같습니다. 내 암호는 여기 있다.

let re = ".";
let new = email.replace(/re/gi, "x");

나도 해봤어

re = /./gi;
new = email.replace(re, "x");

만약 누군가가 정말로 감사할 만한 어떤 사실을 밝힐 수 있다면, 저는 이 일에 너무 오랫동안 매달려서 제가 어디가 잘못되고 있는지 알아낼 수 없을 것 같습니다.

** 편집: 와, 제 새로운 변수는 사실 new email이라고 불렸는데, 키워드 new가 문제를 일으킨 것이 아닙니다!

해결책

두 번째 예제가 가장 가깝습니다. 첫 번째 문제는 변수 이름인 *'new'인데, 이는 우연히 JavaScript&#39의 filename 키워드 중 하나이며 대신 "new RegExp" 또는 "new Set"와 같은 개체를 구성하는 데 사용됩니다. 이것은 프로그램이 구문 오류를 발생시킨다는 것을 의미합니다.

또한 점('rebeer')은 정규식 문법 안에 있는 특수 문자이므로 \"rebeasure로 탈출해야 한다. 그렇지 않으면 'result == &db; xxxxxxxxxxxxxxxxxxxxxxxxxx&db;'로 끝나므로 바람직하지 않습니다.

let email = "my.email@email.com"

let re = /\./gi;
let result = email.replace(re, "x");

console.log(result)
해설 (6)

저에게 잘 맞는 split()과 join() 메서드를 시도해 보세요.(일반 문자열 텍스트의 경우) 그것은 구현하고 이해하는 데 짧고 간단했다. 다음은 예시입니다.

let email = "my.email@email.com";
email.split('.').join('x');

그래서 당신의 모든 것을 x로 대체할 것이다. 따라서 위의 예에서 'email' 변수는 'myxemail@gmailxcom'이 됩니다.

해설 (0)