为何无法按\r\n分割字符串?求技术解决方案
解决包含转义换行符的字符串分割问题
问题出在你用JSON.stringify处理字符串后,原有的\r\n会被转义成字面量的\r\n(也就是字符串实际存储的是\\r\\n),直接用split("\r\n")根本匹配不到目标分隔符。
给你两种可行的解决办法:
方法一:匹配转义后的分隔符
直接用双转义的换行符做分割条件,对应字符串里实际存在的\\r\\n:
let xyz = String(JSON.stringify(data[property].Users__c)); let arr = xyz.split("\\r\\n"); // 这里用双转义的分隔符 console.log('XYZ :' + xyz); console.log('ARR: ' + arr);
方法二:跳过不必要的转义处理(更推荐)
如果不需要JSON.stringify的序列化操作,直接使用原字段值即可,避免换行符被转义:
// 直接取原字段值,跳过JSON.stringify转义 let xyz = data[property].Users__c; // 如果原字段不是字符串类型,再用String()转换 // let xyz = String(data[property].Users__c); let arr = xyz.split("\r\n"); console.log('XYZ :' + xyz); console.log('ARR: ' + arr);
内容的提问来源于stack exchange,提问作者user275494
相关产品推荐
相关产品推荐

