从接口传回来的image base64地址是用逗号隔开的字符串,尝试过使用 String.prototype.split(',')
截取以逗号隔开的字符串,但是发现base64地址中含有逗号,会把一个base64地址给分割成2个,地址乱了,这个应该怎么处理呢?
从接口传回来的image base64地址是用逗号隔开的字符串,尝试过使用 String.prototype.split(',')
截取以逗号隔开的字符串,但是发现base64地址中含有逗号,会把一个base64地址给分割成2个,地址乱了,这个应该怎么处理呢?
最终解决方案(亲测有效):
/**
* 按逗号分解字符串, 引号中的逗号要保留.
* 方案: 1.将引号中都逗号替换为一个字符串中没有的符号; 2. 用split分解; 3. 还原引号中的逗号.
* @param str{string}: 要分解的字符串
*/
function mSplit(str) {
var temp = str.replace(/"[^"]*"/g, match => match.replace(/,/g, '{}'));
return temp.split(',')
.map(value => value.replace(/{}/g, ','));
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
如果确保逗号不是base64的一部分、那split之后用join合并成一个字符串就好了
如果逗号是base64的一部分,那接口为什么要用逗号分隔啊。。