【回答社区问题】替换非英文单词字符间的空格,用JSA自定义函数实现
懒人办公
创作者俱乐部成员
⭐【原帖】
⭐【题目描述】
如下图,将A列中的空格替换成"-",但是不能替换掉英文单词之间的空格。例如:中国银行 Bank OF CHINA 281——>中国银行-Bank OF CHINA-281。
⭐【操作效果】
用JSA编写了一个自定义函数Spaces_To_Minus,在B2单元格中输入函数:=spaces_to_minus(A2),向下填充,即可完成替换操作。
⭐【JSA代码】
按ALT+F11打开WPS宏编辑器,复制下方代码粘贴到编辑器中。
function Spaces_To_Minus(rg) //定义一个自定义函数spaces_to_minus,rg为单元格对象
{
str=rg.Value2; //将所选单元格的值赋值给变量str
str=str.replace(/\s/g,'-'); //将所有字符串中的空格都替换为“-”
str=str.replace(/([A-Za-z])(-)([A-Za-z])/g,'$1 $3'); //再将英文字母间的“-”替换回空格
return str; //返回函数结果
}
⭐【往期内容】
⭐【题目表格下载】