求个正则表达式的写法
有下面一个字符串,我想用vim替换单词中的空格,但是单词与单词之间的空格需要保留下来。
源字符串:
Timb erland Men's 6" Pr emium Bo ot
Timberl and Women's Wate rproff Boot
Timberland Men's Fiel d Boot
Tim berland PRO Premium Boo t
正确的字符串:
Timberland Men's 6" PremiumBoot
Timberland Women's WaterproffBoot
Timberland Men's Field Boot
Timberland PRO Premium Boot
规律如下:
如果空格两边的字母都是小写字母,那么这个空格应该去掉:[a-z]\s[a-z] ---> [a-z][a-z]
如果空格两边字母有一个是大写的或者数字,那么这个空格是单词与单词之间的分隔符,应该保留。
已经尝试了的方案:
1,全文替换空格,这样会把单词与单词之间的分隔符也替换掉。
2,用vim里面的%s/\<[a-z]\s[a-z]\>//g,失败
);
var r = /([a-z])[ ]+([a-z])/g;
console.log(s.replace(r, '$1$2'));