javascript replace()不适用于3个点

javascript replace()不适用于3个点,javascript,replace,Javascript,Replace,我有一根绳子 what a nice pony...and also nice dog...and nice car. 我想将“…”的每个实例替换为“&8203;”&8203;' 这适用于第一个“…”,具体如下: var updatedStr = str.replace('...', "​...​"); 但我希望更新“…”的所有实例,并已尝试: var updatedStr = str.replace(/.../g, "

我有一根绳子

what a nice pony...and also nice dog...and nice car.
我想将“…”的每个实例替换为“&8203;”&8203;' 这适用于第一个“…”,具体如下:

var updatedStr =  str.replace('...', "​...​");
但我希望更新“…”的所有实例,并已尝试:

var updatedStr =  str.replace(/.../g, "​...​");
但这会用点更新整个字符串


我做错了什么?

你需要避开这些点,让正则表达式全球化:

var updatedStr = str.replace(/\.\.\./g, '​');

您需要避开这些点,使正则表达式全球化:

var updatedStr = str.replace(/\.\.\./g, '​');

第一个示例之所以有效,是因为您只是在进行普通字符串替换,但在第二个示例中,您使用的是正则表达式

当你使用。在正则表达式中,这实际上是一个特殊字符,表示“匹配您能找到的任何字符”

如果您想逐字匹配三个点/句点,则需要在正则表达式中通过在每个点/句点之前使用反斜杠来“转义”它们。正则表达式中的反斜杠禁用句点的特殊功能

str.replace/\.\.\./g,&8203&8203;;
第一个示例之所以有效,是因为您只是在进行普通字符串替换,但在第二个示例中,您使用的是正则表达式

当你使用。在正则表达式中,这实际上是一个特殊字符,表示“匹配您能找到的任何字符”

如果您想逐字匹配三个点/句点,则需要在正则表达式中通过在每个点/句点之前使用反斜杠来“转义”它们。正则表达式中的反斜杠禁用句点的特殊功能

str.replace/\.\.\./g,&8203&8203;; 试试这个!:D

const str=多么漂亮的小马……还有漂亮的狗……还有漂亮的汽车。 const updated=str.split'...join'&8203&8203;' console.logupdated试试这个!:D

const str=多么漂亮的小马……还有漂亮的狗……还有漂亮的汽车。 const updated=str.split'...join'&8203&8203;'
console.logupdated您可以使用带点计数的方括号,并使用全局正则表达式替换所有出现的

特殊字符大多在方括号内失去意义。原因是点。不工作是因为它有一个特殊的含义:它匹配除行终止符以外的任何字符,除非它被转义:

var str=多么漂亮的小马……还有漂亮的狗……还有漂亮的汽车。; var updatedStr=str.replace/[.]{3}/g,&8203&8203;;
console.logupdatedStr 您可以使用带点数的方括号,并使用全局正则表达式替换所有出现的

特殊字符大多在方括号内失去意义。原因是点。不工作是因为它有一个特殊的含义:它匹配除行终止符以外的任何字符,除非它被转义:

var str=多么漂亮的小马……还有漂亮的狗……还有漂亮的汽车。; var updatedStr=str.replace/[.]{3}/g,&8203&8203;;
console.logupdatedStr;string可能有一个replaceAll方法——在现代浏览器中——微软尝试创建浏览器时需要考虑和易于多填充string可能有一个replaceAll方法——在现代浏览器中——微软尝试创建浏览器时需要考虑和易于多填充