TwKit
正在载入
TwKit

JavaScript 里,replaceAll() 会返回替换后的新字符串,原字符串不变。传入普通字符串时,它会替换所有字面匹配;replace() 传普通… · @BaiBtw · TwKit

@BaiBtw

JavaScript 里,replaceAll() 会返回替换后的新字符串,原字符串不变。传入普通字符串时,它会替换所有字面匹配;replace() 传普通字符串只替换第一处。例如 "banana".replaceAll("a", "o") 得到 "bonono"。 查找内容来自用户输入时,直接把它当字符串传进去,点号、星号就只是普通字符。拼进 new RegExp() 则可能把它们当成正则语法。这里的“按字面匹配”也不等于“只匹配整个词”:替换 "cat" 仍会改到 "catalog" 里的那一段。需要词边界时,要另写合适的正则,并对动态内容转义。 如果传的是正则,必须带 g 标志,哪怕只想匹配一处;没有 g 会抛 TypeError。替换内容可以是字符串,也可以是针对每次匹配调用的函数。 空查找串也有明确行为:"ab".replaceAll("", "_") 得到 "_a_b_"。插入位置按 UTF-16 码元划分,可能把一个完整字符的代理对拆开。

曝光 24 · 评论 2 · 点赞 1 · 书签 0

查看原帖