JavaScript代码
  1. /*** 清空指定字符串之间的内容(包括起始字符) ***/  
  2. function deleteBetweenCharacters(str, startChar, endChar) {  
  3.     /*** 容错处理 ***/  
  4.     if (typeof(str) == 'undefined' ||  
  5.         typeof(startChar) == 'undefined' ||  
  6.         typeof(endChar) == 'undefined') {  
  7.         return false;  
  8.     }  
  9.   
  10.     /*** 起始替换逻辑 ***/  
  11.     let startIndex = str.indexOf(startChar);  
  12.     let endIndex = str.indexOf(endChar);  
  13.   
  14.     while (startIndex !== -1 && endIndex !== -1) {  
  15.         str = str.substring(0, startIndex) + str.substring(endIndex + 1);  
  16.         startIndex = str.indexOf(startChar);  
  17.         endIndex = str.indexOf(endChar);  
  18.     }  
  19.     return str;  
  20. }  
  21.   
  22. /*** 向字符串指定位置插入字符(业务标记符) ***/  
  23. function insertString(str, insertStr, index) {  
  24.     /*** 容错处理 ***/  
  25.     if (typeof(str) == 'undefined' ||  
  26.         typeof(insertStr) == 'undefined' ||  
  27.         typeof(index) == 'undefined') {  
  28.         return false;  
  29.     }  
  30.     return str.slice(0, index) + insertStr + str.slice(index);  
  31. }  
  32.   
  33. /*** 业务处理主函数 ***/  
  34. function main (str, startChar, endChar, itemNames) {  
  35.     /*** 容错处理 ***/  
  36.     if (typeof(str) == 'undefined' ||  
  37.         typeof(startChar) == 'undefined' ||  
  38.         typeof(endChar) == 'undefined' ||  
  39.         typeof(itemNames) == 'undefined') {  
  40.         return false;  
  41.     }  
  42.   
  43.     var newStrData = str;  
  44.     var startIndex = str.indexOf(startChar);  
  45.     /*** 如果是首次出现 ***/  
  46.     if (str.indexOf('--') == -1) {  
  47.         str = insertString(newStrData, '--', startIndex);  
  48.         /*** 调用清除方法 ***/  
  49.         let data = deleteBetweenCharacters(str, startChar, endChar);  
  50.         let replacedStr = data? data.replace(/--/g, itemNames) : '';  
  51.         return replacedStr;  
  52.     }  
  53. }  
  54. // 示例用法  
  55. // const inputString = "This is 【some】 example 【string】 with 【special】 characters.";  
  56. // const str = main(inputString, "【", "】")  
  57. // console.log(str);  
  58.   
  59. /*** 业务源数据 ***/  
  60. let dataList = [  
  61.     {idStorage: 1, name: 'red', riskItem: '', suggest: '建议核实【】实际配件价格,剔除多定金额。'},  
  62.     {idStorage: 1, name: 'red1', riskItem: '', suggest: '建议核实【高压电池包】【高压电池包】实际配件价格,剔除多定金额。'},  
  63.     {idStorage: 2, name: 'sese', riskItem: '', suggest: '建议核实【】实际配件价格,剔除多定金额。'},    
  64.     {idStorage: 1, name: 'red', riskItem: '', suggest: '建议核实【】实际配件价格,剔除多定金额。'},  
  65.     {idStorage: 3, name: 'bbbd', riskItem: '', suggest: '建议核实【】实际配件价格,剔除多定金额。'}  
  66.   ];  
  67.   
  68. /*** 拼接字符串小模板(备用) ***/  
  69. let itemNames = '【' + dataList.filter(item => item.idStorage === 1).map(item => item.name).join('】【') + '】';  
  70. console.log('itemNames', itemNames)  
  71.   
  72. /*** 拷贝源数据备用 ***/  
  73. var arr = JSON.parse(JSON.stringify(dataList))  
  74. for (var i = 0; i < arr.length; i++) {  
  75.     if (arr[i].idStorage == 1) {  
  76.         arr[i].suggest = main(arr[i].suggest, "【", "】", itemNames)  
  77.     }  
  78. }  
  79. console.log('arr', arr)  
JavaScript代码
  1. const inputString = "This is 【some】 example 【string】 with 【special】 characters.";  
  2. const str = deleteBetweenCharacters(inputString, "【""】")  
  3. console.log(str);  
  4. //This is  example  with  characters.  

 

H5/JS/CSS | 评论(0) | 引用(0) | 阅读(28)