替换打字稿中字符串中的所有字符实例?
Replace all instances of character in string in typescript?
我正在尝试用 x 字符替换电子邮件中的所有句号 - 例如 "my.email@email.com" 将变为 "myxemail@emailxcom"。电子邮件设置为字符串。
我的问题是它不只是替换句号,而是替换每个字符,所以我只得到一串 x。
我只需一个句号就可以让它工作,所以我假设我在全局实例部分是错误的。这是我的代码:
let re = ".";
let new = email.replace(/re/gi, "x");
我也试过了
re = /./gi;
new = email.replace(re, "x");
如果有人能阐明我真的很感激,我已经坚持了这么久,似乎无法弄清楚我哪里出错了。
** 编辑:哎呀,我的新变量实际上叫做 newemail,关键字 new 不是导致问题的原因!
你的第二个例子最接近。第一个问题是您的变量名 new
,它恰好是 JavaScript 的 reserved keywords 之一(而是用于构造对象,例如 new RegExp
或 new Set
)。这意味着您的程序将抛出语法错误。
此外,由于点 (.
) 是正则表达式语法中的一个特殊字符,您应该将其转义为 \.
。否则你会得到 result == "xxxxxxxxxxxxxxxxxx"
,这是不可取的。
let email = "my.email@email.com"
let re = /\./gi;
let result = email.replace(re, "x");
console.log(result)
您可以尝试对我有用的 split()
和 join()
方法。 (对于普通字符串文本)
它简短而易于实施和理解。
下面是一个例子。
let email = "my.email@email.com";
email.split('.').join('x');
因此,它将用 x
替换所有 .
。所以,在上面的例子之后,email
变量变成了myxemail@gmailxcom
您可以只使用 replaceAll()
字符串函数,如下所述:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll
如果你得到
属性 'replaceAll' 在类型 'string' 上不存在
错误 - 转到 tsconfig.json
并在“lib”中更改或添加“es2021”。
像这样:
更多信息在这里:
我正在尝试用 x 字符替换电子邮件中的所有句号 - 例如 "my.email@email.com" 将变为 "myxemail@emailxcom"。电子邮件设置为字符串。
我的问题是它不只是替换句号,而是替换每个字符,所以我只得到一串 x。
我只需一个句号就可以让它工作,所以我假设我在全局实例部分是错误的。这是我的代码:
let re = ".";
let new = email.replace(/re/gi, "x");
我也试过了
re = /./gi;
new = email.replace(re, "x");
如果有人能阐明我真的很感激,我已经坚持了这么久,似乎无法弄清楚我哪里出错了。
** 编辑:哎呀,我的新变量实际上叫做 newemail,关键字 new 不是导致问题的原因!
你的第二个例子最接近。第一个问题是您的变量名 new
,它恰好是 JavaScript 的 reserved keywords 之一(而是用于构造对象,例如 new RegExp
或 new Set
)。这意味着您的程序将抛出语法错误。
此外,由于点 (.
) 是正则表达式语法中的一个特殊字符,您应该将其转义为 \.
。否则你会得到 result == "xxxxxxxxxxxxxxxxxx"
,这是不可取的。
let email = "my.email@email.com"
let re = /\./gi;
let result = email.replace(re, "x");
console.log(result)
您可以尝试对我有用的 split()
和 join()
方法。 (对于普通字符串文本)
它简短而易于实施和理解。
下面是一个例子。
let email = "my.email@email.com";
email.split('.').join('x');
因此,它将用 x
替换所有 .
。所以,在上面的例子之后,email
变量变成了myxemail@gmailxcom
您可以只使用 replaceAll()
字符串函数,如下所述:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll
如果你得到
属性 'replaceAll' 在类型 'string' 上不存在
错误 - 转到 tsconfig.json
并在“lib”中更改或添加“es2021”。
像这样:
更多信息在这里: