gpt4 book ai didi

javascript - 代替 。用~

转载 作者:行者123 更新时间:2023-11-30 07:32:53 29 4
gpt4 key购买 nike

我有一个字符串 'abc.132131.001.3' 。我想将每次出现的 '.' 替换为 '~'.

我用过

str.replace(/[.*?^${}()|[\]\\]/g, "\~$&");

但是这个的输出是

abc~.132131~.001~.3

我也试过

str.replace(/./g, "~");

这会返回

'~~~~~~~~~~~~'

最佳答案

I have used str.replace(/[.*?^${}()|[\]\\]/g, "\~$&"); but the output for this is abc~.132131~.001~.3.

该正则表达式匹配外部 [] 括号中的任何字符,不仅是句号,而且在您的替换字符串中 $& 部分具有正则表达式匹配的任何文本的特殊含义,即句号 . 字符。因此,您正在将每个 . 更改为 ~.。您只需将替换字符串更新为 "~" 即可获得所需的输出。

I also tried str.replace(/./g, "~"); and this returns '~~~~~~~~~~~~'.

那是因为在 regular expression . 不在带方括号的“字符集”内(如您的其他尝试)匹配除换行符以外的任何字符,因此字符串中的每个字符都会被替换。

要搜索文字句号 '.' 字符,您必须使用反斜杠在正则表达式中将其转义:

 var str = 'abc.132131.001.3'

var result = str.replace(/\./g, '~')

console.log(result)

关于javascript - 代替 。用~,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45157456/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com