为每个字母添加span,但避免使用javascript的html标记

为每个字母添加span,但避免使用javascript的html标记,javascript,html,regex,string,Javascript,Html,Regex,String,我有一根绳子 var string = "Selected<br>Works" var string=“Selected有效” 从中我需要用包装每个字母,避免在span内包装标签。用正则表达式可以吗 我是为了: 'Selected<br>Works'.replace(/\S/g, '<span class="letter">$&</span>') “选定的有效”。替换(/\S/g,$&) 返回: <span class="le

我有一根绳子

var string = "Selected<br>Works"
var string=“Selected
有效”
从中我需要用
包装每个字母,避免在span内包装

标签。用正则表达式可以吗

我是为了:

'Selected<br>Works'.replace(/\S/g, '<span class="letter">$&</span>')
“选定的
有效”。替换(/\S/g,$&)
返回:

<span class="letter">S</span>
<span class="letter">e</span>
<span class="letter">l</span>
<span class="letter">e</span>
<span class="letter">c</span>
<span class="letter">t</span>
<span class="letter">e</span>
<span class="letter">d</span>
<span class="letter">&lt;</span>
<span class="letter">b</span>
<span class="letter">r</span>
<span class="letter">&gt;</span>
<span class="letter">W</span>
<span class="letter">o</span>
<span class="letter">r</span>
<span class="letter">k</span>
<span class="letter">s</span>
S
E
L
E
C
T
E
D
B
R
W
o
R
K
s
而期望的结果是:

<span class="letter">S</span>
<span class="letter">e</span>
<span class="letter">l</span>
<span class="letter">e</span>
<span class="letter">c</span>
<span class="letter">t</span>
<span class="letter">e</span>
<span class="letter">d</span>
<br>
<span class="letter">W</span>
<span class="letter">o</span>
<span class="letter">r</span>
<span class="letter">k</span>
<span class="letter">s</span>
S
E
L
E
C
T
E
D

W o R K s
其他字符串示例包括:

  • 艺术指导
    创意概念
    用户体验/用户界面设计

  • 数字品牌
    网站


您可以通过返回多个包含字母的数组的分隔符来拆分字符串。然后使用
.map()
.replace()
包装
中的每个字母。在末尾,通过

var string=“Selected
有效”; var newStr=string.split(“
”).map(函数(val){ 返回值替换(/(\S)/g,“$1”); }).加入(“
”); console.log(newStr); document.body.innerHTML=(newStr)
span:n子级(偶数){color:blue}

span:n第n个子(奇数){color:red}
您可以使用
替换
为一种前瞻型正则表达式:

var string=“Selected
有效”, result=string.replace(/(?![^)[^`${c}\n`);
console.log(结果)
每个字母或每个单词?您尝试了什么?什么不起作用?您得到了什么?您期望得到什么?还请提供多个预期输入和输出示例。@kinduser,是的,每个字母您对返回的字符串做了什么,我假设它被附加到文档中?很好的方法+1@Toto如果我按所有标记拆分字符串,我可以n不要通过相关标记加入数组,所有标记都将被删除。很抱歉,非常好!几乎可以完美地工作,只是我需要找到一种方法来保持

:/tagIt在那里。您运行代码段了吗?当我删除代码段时,它可以完美地工作。\n谢谢!