在JavaScript中,我需要用下划线字符(_)替换所有出现的点字符(。),如果有的话除了最后一个。
此表达式替换所有出现的点字符(。),包括带有下划线字符(_)的最后一个字符,但是我试图找出如何更改它以使其仅留下最后一个(。)字符
str.replace(/\./g, '_');
谢谢!
史蒂夫
答案 0 :(得分:5)
look aheads的乐趣。
"12.34.56.78".replace(/\.(?=[^.]*\.)/g,"_")
答案 1 :(得分:1)
> "12.34.56.78".replace(/\.(?![^.]*$)/g,"_")
'12_34_56.78'
> "12.34.56.78.".replace(/\.(?![^.]*$)/g,"_")
'12_34_56_78.'