运用正则将字符串中没有闭合的引号闭合。
var str= "'acb','def,'efg',"hij,'klm'";
var arr=str.split(",");
var reg=/^('\w+')$/g;
for(var i=0;i<arr.length;i++){
if(!reg.test(arr[i])){
arr[i]=arr[i]+"'";
}
}
var newStr=arr.join(",");
console.log(newStr);
输出:'acb','def','efg',"hij','klm'
输出的跟要求的还差一些,但是不会改了。希望大家指正,或者有更好的解决方案。
str.replace(/('|")(\w+)(?!\1),/g, '$1$2$1,');