Ver Fonte

Merge remote-tracking branch 'origin/test'

songyh há 3 anos atrás
pai
commit
bf76513599

+ 22 - 16
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/common/utils/StringUtils.java

@@ -360,24 +360,30 @@ public class StringUtils {
         try {
             //String a = "20210814-促活-站内-RTA-sf_jrtt_huichuangch_ptb_297571-ocpm-[这是这是这是这这是这是这是这是这是这是这是这是这这是这是这是这是这是]-0728";
             //获取[] 中的内容 --素材名称
-            String materialName = adName.substring(adName.indexOf("["),adName.indexOf("]")+1);
-            //广告计划名称 总长度(1个中文 占 2个字符)
-            int adNameLength = length(adName.replaceAll("[\\[\\]]", ""));
-            //素材名称 长度 (1个中文 占 2个字符)
-            int materialLength = length(materialName.replaceAll("[\\[\\]]", ""));
-            // 计划名称 字符总长度
-            int totalLength = (adNameLength / 2) + (adNameLength % 2);
-            //不能超过 47个长度
-            if (totalLength > 47){
-                //要截取的素材名称的长度
-                int sub = (totalLength - 47) * 2 ;
-                // 去除 [] 并截取素材名称
-                String mateName = materialName.replaceAll("[\\[\\]]", "");
-                String rep = subStr50(mateName,materialLength - sub);
-                return adName.replace(materialName, rep);
+            if (adName.contains("[") && adName.contains("]")){
+                String materialName = adName.substring(adName.indexOf("["),adName.indexOf("]")+1);
+                //广告计划名称 总长度(1个中文 占 2个字符)
+                int adNameLength = length(adName.replaceAll("[\\[\\]]", ""));
+                //素材名称 长度 (1个中文 占 2个字符)
+                int materialLength = length(materialName.replaceAll("[\\[\\]]", ""));
+                // 计划名称 字符总长度
+                int totalLength = (adNameLength / 2) + (adNameLength % 2);
+                //不能超过 47个长度
+                if (totalLength > 47){
+                    //要截取的素材名称的长度
+                    int sub = (totalLength - 47) * 2 ;
+                    // 去除 [] 并截取素材名称
+                    String mateName = materialName.replaceAll("[\\[\\]]", "");
+                    String rep = subStr50(mateName,materialLength - sub);
+                    return adName.replace(materialName, rep);
+                }else {
+                    return adName.replaceAll("[\\[\\]]", "");
+                }
             }else {
-                return adName.replaceAll("[\\[\\]]", "");
+                return adName;
             }
+
+
         }catch (Exception e){
             e.printStackTrace();
         }