看了一道测试题,没有什么思路,找了资料后稍微修改了下代码。
用正则表达式来将字符串:
“I’m?���driving�??�to�?beijing�?��after�breakfast”
1.只需要大小写英文字母和“ ’ ”单引号
2.如果乱码的末尾是?则它的下一位字母肯定是大写;
const str = "I'm?���driving�??�?to�?beijing�?��after�breakfast"
let strArr = str.split("�")//截取成数组 - 添加let关键字
for(var i=0 ;i<strArr.length;i++){//循环数组并把首字母改成大写并拼接
const reg = /^[?]/g; // 匹配首位是否是?号
if(reg.test(strArr[i])) {
strArr[i]=strArr[i].charAt(1).toUpperCase()+strArr[i].slice(2);
}
}
strArr = strArr.join(" ").split('?').join('')//数组转字符串