关于 字符串分割割问题 ["内容","标题"] 一个字符串 变成 内容 标题两个字符串

我想把 ["内容","标题"] 一个字符串 变成 内容 标题两个字符串 可以通过什么方法完成 我想过用字符串切割 但是感觉太麻烦


package Action;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class demo {
    public static void main(String[] args) {
        String str = " [\"内容\",\"标题\"] ";
        Pattern p = Pattern.compile("\"(.*?)\"");
        Matcher m=p.matcher(str);
        while(m.find()){
            System.out.println(m.group());
        }
    }
}

img

自己动手写可以加深记忆啊,或者你自己写一个工具类来处理类似的字符串切割,也不是特别麻烦。而且不同的字符串类别,可以定义不同的函数来进行字符串切割

public class StringUtils {
     final int length;
     final String content;
     final String[]  multiContent;
     public StringUtils () {
     }
     public StringUtils(String content) {
          if(content == null) {
               throw new IllegalArgumentException("The given argument [ content ] cannot be null"); 
          }
          this.content = content;
          this.length = content.length();
     }
     String[] stringAxer(String str) {
          if(length == 0) {
             return new String[0];
         }
         str = str.replace("[", "").replace("]", "").replace("\''", "");
         return str.split(",");
     }

}
// 纯手写代码,没有借助任何IDE

你这字符串就是一个JSON数组格式,直接用JSON工具转换就好了(代码如下)。如果是必须要用截取的形式的话,那就只能按照楼上的方式截取了。

String s = "[\"内容\",\"标题\"]";
JSONArray jsonArray = JSON.parseArray(s);
Object[] objects = jsonArray.toArray();
//for (Object str : objects) {
    // TODO 在这里处理数据
//    System.out.println("str = " + str);
//}
// 内容
Object object0 = objects[0];
// 标题
Object object1 = objects[1];