js去除?�乱码

看了一道测试题,没有什么思路,找了资料后稍微修改了下代码。

用正则表达式来将字符串:

“I’m?���driving�??�to�?beijing�?��after�breakfast”

1.只需要大小写英文字母和“ ’ ”单引号

2.如果乱码的末尾是?则它的下一位字母肯定是大写;

let str = "I'm?���driving�??�?to�?beijing�?��after�breakfast"
strArr = str.split("�")//截取成数组
for(var i=0 ;i<strArr.length;i++){//循环数组并把首字母改成大写并拼接
  let reg = /^[?]/g; // 匹配首位是否是?号
  if(reg.test(strArr[i])) {
	strArr[i]=strArr[i].charAt(1).toUpperCase()+strArr[i].slice(2);
  }
}
strArr = strArr.join(" ").split('?').join('')//数组转字符串

你可能感兴趣的:(技术上的问题)