仅用javascript替换第一次出现的内容

仅用javascript替换第一次出现的内容,javascript,Javascript,我有一个来自HTML的字符串,它没有标记,但带有转义符号,如: abc&symbol1;def&symbol2;ghi&symbol3;jkl... 在JavaScript或TypeScript中,如何替换所有序列,如&symbolN带有一个固定字符,如X,因此我得到: abcXdefXghiXjkl... (顺便说一句,目标是获取具有不同HTML转义字符(如£;)的字符串的长度,以便它们中的每一个都像一个字符一样计数) 更新:可能我没有准确解释:symbo

我有一个来自HTML的字符串,它没有标记,但带有转义符号,如:

abc&symbol1;def&symbol2;ghi&symbol3;jkl...
在JavaScript或TypeScript中,如何替换所有序列,如
&symbolN
带有一个固定字符,如
X
,因此我得到:

abcXdefXghiXjkl...
(顺便说一句,目标是获取具有不同HTML转义字符(如
£;
)的字符串的长度,以便它们中的每一个都像一个字符一样计数)


更新:可能我没有准确解释:symbol1,symbol2,。。。这并不意味着“symbol”字符串会重复,但完全不同的符号不会重复,例如“abc.defghi€…”,因此无法使用像“&symbol;”这样的重复文本模式来计算长度,您可以作弊,正如您所说:

html.replace(/&[^;]+;/, 'X').length
要正确地将HTML转换为文本,应该使用HTML解析器,而不是regexp。例如,在浏览器中

let e = document.createElement('div');
e.innerHTML = html;
let text = e.textContent;

你知道正则表达式吗?顺便说一句,您想只替换第一次出现(根据标题)或所有出现(描述)?Regex是您在这里的朋友
&symbol\d+不清楚你在问什么,只是先问?还是全部?在询问之前,您是否尝试过寻找解决方案?